source: 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 7475

Revision 7475, 4.0 KB checked in by tesatapa, 3 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class FysiikkaPeli1 : PhysicsGame
10{
11    EasyHighScore TopLista = new EasyHighScore();
12    IntMeter pelaajanpisteet;
13    PhysicsObject raketti;
14    Vector pelaajanAlkuPaikka;
15    public override void Begin()
16    {
17
18        AlkuValikko();
19       
20    }
21
22    void luoraketti(Vector paikka, double leveys, double korkeus)
23    {
24        pelaajanAlkuPaikka = paikka;
25        raketti = new PhysicsObject(45, 20);
26        raketti.Shape = Shape.Hexagon;
27        raketti.Angle = Angle.FromDegrees(90.0);
28        Add(raketti);
29        raketti.Color = Color.Black;
30        raketti.Position = paikka;
31        raketti.RotateImage = true;
32        Image kuva = LoadImage("raketti");
33
34        raketti.Image = kuva;
35        Timer ajastin = new Timer();
36        ajastin.Interval = 0.05;
37        ajastin.Timeout += asetanopeus;
38        ajastin.Start();
39        AddCollisionHandler(raketti, "vihollinen", TormaaViholliseen);
40
41
42    }
43
44    void LuoKentta()
45    {
46        Level.Background.Color = Color.White;
47        TileMap kentta = TileMap.FromLevelAsset("Kentta1");
48        kentta.SetTileMethod('p', luoraketti);
49        kentta.SetTileMethod('#', LisaaTaso);
50        kentta.Execute();
51        //  kentta.SetTileMethod("m", VaihdaLevel);
52    }
53    void LisaaTaso(Vector paikka, double leveys, double korkeus)
54    {
55        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
56        taso.Position = paikka;
57        taso.Color = Color.Blue;
58        Add(taso);
59        taso.Tag = "vihollinen";
60    }
61    void LuoOhjaimet()
62    {
63        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
64        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
65        Keyboard.Listen(Key.Right, ButtonState.Down, kaanna, "", -1.7);
66        Keyboard.Listen(Key.Left, ButtonState.Down, kaanna, "", 1.7);
67
68
69    }
70
71    void kaanna(double turn)
72    {
73        raketti.Angle += Angle.FromDegrees(turn);
74
75
76
77    }
78
79    void asetanopeus()
80    {
81        raketti.Velocity = Vector.FromLengthAndAngle(75.0, raketti.Angle);
82
83    }
84
85    void TormaaViholliseen(PhysicsObject pelaaja, PhysicsObject vihollinen)
86    {
87        //pelaaja.Destroy();
88        Pisteet();
89        aloitaalusta();
90    }
91    void aloitaalusta()
92    {
93        raketti.Position = pelaajanAlkuPaikka;
94        raketti.Velocity = Vector.Zero;
95        raketti.Angle = Angle.FromDegrees(90);
96    }
97    void Lisaalaskuri()
98    {
99        pelaajanpisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0);
100    }
101    IntMeter LuoPisteLaskuri(double x, double y)
102    {
103        IntMeter laskuri = new IntMeter(0);
104        laskuri.MaxValue = 10;
105        Label naytto = new Label();
106        naytto.BindTo(laskuri);
107        naytto.X = x;
108        naytto.Y = y;
109        naytto.TextColor = Color.Black;
110        naytto.BorderColor = Color.White;
111        Add(naytto);
112        return laskuri;
113    }
114
115    void Pisteet()
116    {
117        pelaajanpisteet.Value += 1;
118
119
120
121    }
122
123    void AlkuValikko()
124    {
125        MultiSelectWindow AlkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
126        "Aloita peli", "Parhaat pisteet", "Lopeta");
127        Add(AlkuValikko);
128        AlkuValikko.AddItemHandler(0, AloitaPeli);
129        AlkuValikko.AddItemHandler(1, Parhaatpisteet);
130        AlkuValikko.AddItemHandler(2, Exit);
131        AlkuValikko.DefaultCancel = 3;
132        AlkuValikko.Color = Color.Red;
133        Mouse.IsCursorVisible = true;
134    }
135 void Pelaajakuoli()
136    {
137        raketti.Destroy();
138        TopLista.EnterAndShow(pelaajanpisteet.value);
139        TopLista.HighScoreWindow.Closed += Aloitapeli;
140    }
141       
142               
143
144
145
146
147
148
149        void Parhaatpisteet()
150    {
151
152    }
153    void AloitaPeli()
154    {
155        LuoKentta();
156        Lisaalaskuri();
157        LuoOhjaimet();
158        Camera.ZoomToLevel();
159    }
160
161}
Note: See TracBrowser for help on using the repository browser.