source: 2016/24/JouniP/Tormailijat/Tormailijat/Tormailijat/Tormailijat.cs @ 7319

Revision 7319, 3.1 KB checked in by jotapoti, 3 years ago (diff)

alkuvalikon pohja 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 Tormailijat : PhysicsGame
10{
11    PhysicsObject pelaaja1;
12    public override void Begin()
13    {
14        Alkuvalikko();
15    }
16
17    void Alkuvalikko()
18    {
19        // koodi jolla alkuvalikko luodaan
20        MultiSelectWindow alkuvalikko = new MultiSelectWindow("Pelin alkuvalikko",
21"Aloita peli", "Parhaat pisteet", "Peliohjeet", "Lopeta");
22        Add(alkuvalikko);
23
24        // TODO tee peliohjeet toimiviksi!
25        alkuvalikko.AddItemHandler(0, AloitaPeli);
26        alkuvalikko.AddItemHandler(1, ParhaatPisteet);
27        alkuvalikko.AddItemHandler(2, Peliohjeet);
28        alkuvalikko.AddItemHandler(3, Exit);
29
30    }
31
32    void ParhaatPisteet()
33    {
34        // TODO tee parhaiden pisteiden nayttaminen tahan
35    }
36
37    void Peliohjeet()
38    {
39
40    }
41
42    void AloitaPeli()
43    {
44        pelaaja1 = new PhysicsObject(10.0, 10.0);
45        pelaaja1.X = -400.0;
46        pelaaja1.Y = 0.0;
47        Add(pelaaja1);
48        AddCollisionHandler(pelaaja1, "pahis", PelaajaOsuuPahikseen);
49
50        Level.CreateBorders(1.0, false);
51        double leveys = 50.0;
52        double korkeus = 50.0;
53
54        for (int i = 0; i < 5; i++)
55        {
56            double arvottuXkoordinaatti = RandomGen.NextDouble(Level.Left, Level.Right);
57            double arvottuYkoordinaatti = RandomGen.NextDouble(Level.Bottom, Level.Top);
58            Color arvottuVari = RandomGen.SelectOne<Color>(Color.Red, Color.White, Color.Green, Color.HotPink);
59            LuoOlio(arvottuXkoordinaatti, arvottuYkoordinaatti, leveys, korkeus, arvottuVari, Shape.Circle);
60        }
61        //LuoOlio(200.0, 200.0, leveys, korkeus, Color.Black, Shape.Circle);
62        //LuoOlio(-200.0, -200.0, leveys, korkeus, Color.Black, Shape.Circle);
63
64        //PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
65        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
66        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
67        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
68        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
69        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
70    }
71
72    void PelaajaOsuuPahikseen(PhysicsObject pelaaja, PhysicsObject kohde)
73    {
74        pelaaja.Destroy();
75        MessageDisplay.Add("Nyt osui!");
76    }
77   
78
79    void LiikutaPelaajaa(Vector vektori)
80    {
81        pelaaja1.Push(vektori);
82    }
83
84    void LuoOlio(double x, double y, double leveys, double korkeus, Color vari, Shape muoto)
85    {
86        PhysicsObject olio = new PhysicsObject(leveys, korkeus);
87        olio.Shape = muoto;
88        olio.Color = vari;
89        olio.X = x;
90        olio.Y = y;
91        olio.Tag = "pahis";
92        Add(olio);
93
94        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1);
95        //seuraajanAivot.Speed = 50.0;
96        olio.Brain = seuraajanAivot;
97       
98
99    }
100}
Note: See TracBrowser for help on using the repository browser.