source: 2017/31/MirkaH/TimantitOvatIkuisia/TimantitOvatIkuisia/TimantitOvatIkuisia/TimantitOvatIkuisia.cs @ 9341

Revision 9341, 4.2 KB checked in by npo17_79, 21 months ago (diff)

Tausta ja esteet luotu.
Pelaaja luotu ja liikkuu ok.
Yksi randomisti esiintyvä timantti on luotu.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class TimantitOvatIkuisia : PhysicsGame
10{
11
12    // const double nopeus = 200;
13    // const double hyppyNopeus = 750;
14    Vector nopeusYlös = new Vector(0.0, 500.0);
15        Vector nopeusAlas = new Vector(0.0, -500.0);
16
17    const int RUUDUN_KOKO = 50;
18
19 PhysicsObject pelaaja1;
20
21    Image taustaKuva = LoadImage("meri");
22    Image pelaajanKuva = LoadImage("sukeltaja1");
23    Image tahtiKuva = LoadImage("timantti");
24
25    SoundEffect maaliAani = LoadSoundEffect("maali");
26
27    public override void Begin()
28    {
29   
30        // Gravity = new Vector(0, -1000);
31
32        LuoKentta();
33        LisaaNappaimet();
34
35        Camera.Follow(pelaaja1);
36       Camera.ZoomFactor = 1.2;
37       Camera.StayInLevel = true;
38       // Camera.ZoomToLevel();
39    }
40
41    void LuoKentta()
42    {
43        TileMap kentta = TileMap.FromLevelAsset("kentta1");
44        kentta.SetTileMethod('#', LisaaTaso);
45        kentta.SetTileMethod('*', LisaaAarre);
46        kentta.SetTileMethod('N', LisaaPelaaja);
47        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
48        Level.CreateBorders();
49        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
50        Level.Background.Image = taustaKuva;
51        LisaaAarre(RUUDUN_KOKO, RUUDUN_KOKO, RandomGen.NextDouble(Level.Left, Level.Right),RandomGen.NextDouble(Level.Top,Level.Bottom));
52   
53 
54    }
55
56    void LisaaTaso(Vector paikka, double leveys, double korkeus)
57    {
58        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
59        taso.Position = paikka;
60        taso.Color = Color.Black;
61        taso.Restitution = 0.4;
62        Add(taso);
63    }
64    void LisaaAarre(double leveys, double korkeus,double x, double y )
65    {
66        PhysicsObject aarre = PhysicsObject.CreateStaticObject(leveys, korkeus);
67        aarre.IgnoresCollisionResponse = true;
68        aarre.X = x;
69        aarre.Y = y;
70        aarre.Image = tahtiKuva;
71        aarre.Tag = "tahti";
72        Add(aarre);
73    }
74    void LisaaAarre(Vector paikka, double leveys, double korkeus)
75    {
76        PhysicsObject aarre = PhysicsObject.CreateStaticObject(leveys, korkeus);
77        aarre.IgnoresCollisionResponse = true;
78        aarre.Position = paikka;
79        aarre.Image = tahtiKuva;
80        aarre.Tag = "tahti";
81        Add(aarre);
82    }
83
84    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
85    {
86        pelaaja1 = new PhysicsObject(leveys* 1.5, korkeus * 1.5);
87        pelaaja1.Position = paikka;
88       // pelaaja1.Mass = 4.0;
89        pelaaja1.Image = pelaajanKuva;
90        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
91        Add(pelaaja1);
92        pelaaja1.CanRotate = false;
93    }
94
95    void LisaaNappaimet()
96    {
97        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
98        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
99
100        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(-200,0));
101        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector (200,0));
102        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja ylös", pelaaja1, nopeusYlös);
103        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja alas", pelaaja1, nopeusAlas);
104
105        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
106
107        ///ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
108        //ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
109        //ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
110
111        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
112    }
113
114    void Liikuta(PhysicsObject hahmo, Vector nopeus)
115    {
116        hahmo.Push(nopeus);
117    }
118
119 
120
121    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
122    {
123        maaliAani.Play();
124        MessageDisplay.Add("Keräsit tähden!");
125        tahti.Destroy();
126    }
127}
Note: See TracBrowser for help on using the repository browser.