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

Revision 7471, 3.1 KB checked in by tesatapa, 5 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    IntMeter pelaajanpisteet;
12    PhysicsObject raketti;
13    Vector pelaajanAlkuPaikka;
14    public override void Begin()
15    {
16       
17        LuoKentta();
18        Lisaalaskuri();
19        LuoOhjaimet();
20        Camera.ZoomToLevel();
21    }
22
23    void luoraketti(Vector paikka, double leveys, double korkeus)
24    {
25        pelaajanAlkuPaikka = paikka;
26        raketti = new PhysicsObject(30, 10);
27        raketti.Shape = Shape.Hexagon;
28        raketti.Angle = Angle.FromDegrees(90);
29        Add(raketti);
30        raketti.Color = Color.Black;
31        raketti.Position = paikka;
32        Timer ajastin = new Timer();
33        ajastin.Interval = 0.05;
34        ajastin.Timeout += asetanopeus;
35        ajastin.Start();
36        AddCollisionHandler(raketti, "vihollinen", TormaaViholliseen);
37       
38    }
39
40    void LuoKentta()
41    {
42        Level.Background.Color = Color.White;
43        TileMap kentta = TileMap.FromLevelAsset("Kentta1");
44        kentta.SetTileMethod('p', luoraketti);
45        kentta.SetTileMethod('#', LisaaTaso);
46        kentta.Execute();
47        //kentta.SetTileMethod("m", VaihdaLevel);
48   }
49    void LisaaTaso(Vector paikka, double leveys, double korkeus)
50    {
51        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
52        taso.Position = paikka;
53        taso.Color = Color.Blue;
54        Add(taso);
55        taso.Tag = "vihollinen";
56    }
57    void LuoOhjaimet()
58    {
59        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
60        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
61        Keyboard.Listen(Key.Right, ButtonState.Down, kaanna, "",- 1.7);
62        Keyboard.Listen(Key.Left, ButtonState.Down, kaanna, "", 1.7); 
63
64
65    }
66
67    void kaanna(double turn)
68    {
69        raketti.Angle += Angle.FromDegrees(turn);
70
71
72
73}
74
75    void asetanopeus()
76 {
77        raketti.Velocity = Vector.FromLengthAndAngle(75.0, raketti.Angle);
78
79}
80   
81    void TormaaViholliseen(PhysicsObject pelaaja, PhysicsObject vihollinen)
82    {
83        //pelaaja.Destroy();
84        Pisteet();
85        aloitaalusta();
86    }
87    void aloitaalusta()
88    {
89        raketti.Position = pelaajanAlkuPaikka;
90        raketti.Velocity = Vector.Zero;
91        raketti.Angle = Angle.FromDegrees(90);
92    }
93    void Lisaalaskuri()
94    {
95        pelaajanpisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0);
96    }
97    IntMeter LuoPisteLaskuri(double x, double y)
98    {
99        IntMeter laskuri = new IntMeter(0);
100        laskuri.MaxValue = 10;
101        Label naytto = new Label();
102        naytto.BindTo(laskuri);
103        naytto.X = x;
104        naytto.Y = y;
105        naytto.TextColor = Color.Black;
106        naytto.BorderColor = Color.White;
107        Add(naytto);
108        return laskuri;
109    }
110   
111    void Pisteet()
112    {
113        pelaajanpisteet.Value += 1;
114
115     
116       
117    }
118
119
120
121
122
123}
Note: See TracBrowser for help on using the repository browser.