source: 2017/24/IlariI/piXgel GAmE/piXgel GAmE/piXgel_GAmE/piXgel_GAmE.cs @ 8726

Revision 8726, 6.1 KB checked in by npo17_16, 2 years ago (diff)

anim

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class piXgel_GAmE : PhysicsGame
10{
11    AssaultRifle hahmonase;
12
13    Image hahmonkuva = LoadImage("hahmo");
14    Image hahmonkuvavasemmalle = LoadImage("hahmovasemmalle");
15    Image hahmonkuvatakaa = LoadImage("hahmotakaa");
16    Image hahmonkuvaoikealle = LoadImage("hahmooikealle");
17
18    Image[] hahmonKavely = LoadImages("hahmo, hahmo2");
19    Image[] hahmo2Kavely = LoadImages("hahmovasemmalle, hahmovasemmalle2");
20    Image[] hahmo3kavely = LoadImages("hahmooikealle, hahmooikealle2");
21    Image[] hahmo4kavely = LoadImages("hahmotakaa, hahmotakaa2");
22
23
24    IntMeter pisteLaskuri;
25    PhysicsObject vihollinen;
26
27    PhysicsObject hahmo;
28    Vector nopeusVasemmalle = new Vector(-100.0, 0.0);
29    Vector nopeusOikealle = new Vector(100.0, 0.0);
30    Vector nopeusYlos = new Vector(0.0, 100.0);
31    Vector nopeusAlas = new Vector(0.0, -100.0);
32
33    Vector pysahtuuVasemmalle = new Vector(0.0, 0.0);
34    Vector pysahtuuOikealle = new Vector(0.0, 0.0);
35    Vector pysahtuuYlos = new Vector(0.0, 0.0);
36    Vector pysahtuuAlas = new Vector(0.0, 0.0);
37
38    public override void Begin()
39    {
40        hahmo = new PhysicsObject(30, 30);
41        hahmo.CanRotate = false;
42        hahmo.Restitution = 0.0;
43        hahmo.Image = hahmonkuva; 
44        hahmonase = new AssaultRifle(30, 10);
45        hahmonase.Image = null; 
46        SmoothTextures = false;
47        hahmonase.Color = Color.Transparent;
48
49        hahmonase.ProjectileCollision = Ammusosui;
50        hahmo.Add(hahmonase);
51
52        Keyboard.Listen(Key.Space, ButtonState.Down, Ammuaseella, "Ammu", hahmonase);
53
54        PhysicsObject vihollinen = new PhysicsObject(40, 40);
55        vihollinen.CanRotate = false;
56        vihollinen.X = -300;
57        vihollinen.Y = -200;
58        vihollinen.Tag = "vihu";
59
60
61
62        FollowerBrain seuraajanAivot = new FollowerBrain(hahmo);
63        Add(vihollinen);
64
65        vihollinen.Brain = seuraajanAivot;
66
67        seuraajanAivot.Speed = 80;
68        seuraajanAivot.DistanceFar = 600;
69        seuraajanAivot.DistanceClose = 40;
70        seuraajanAivot.StopWhenTargetClose = true;
71
72
73        seuraajanAivot.TargetClose += KunPaaseeLahelle;
74
75
76        Luopistelaskuri();
77
78        Add(hahmo);
79
80        Timer vihollispawner = new Timer();
81        vihollispawner.Interval = 2.0;
82        vihollispawner.Timeout += LuoVihu;
83        vihollispawner.Start();
84
85
86        LuoKentta();
87        // TODO: Kirjoita ohjelmakoodisi tähän();
88
89        Keyboard.Listen(Key.Left, ButtonState.Down, KavelytaPelaajaa, null, nopeusVasemmalle);
90        Keyboard.Listen(Key.Right, ButtonState.Down, KavelytaPelaajaa, null, nopeusOikealle);
91        Keyboard.Listen(Key.Up, ButtonState.Down, KavelytaPelaajaa, null, nopeusYlos);
92        Keyboard.Listen(Key.Down, ButtonState.Down, KavelytaPelaajaa, null, nopeusAlas);
93
94        Keyboard.Listen(Key.Left, ButtonState.Released, KavelytaPelaajaa, null, pysahtuuVasemmalle);
95        Keyboard.Listen(Key.Right, ButtonState.Released, KavelytaPelaajaa, null, pysahtuuOikealle);
96        Keyboard.Listen(Key.Up, ButtonState.Released, KavelytaPelaajaa, null, pysahtuuYlos);
97        Keyboard.Listen(Key.Down, ButtonState.Released, KavelytaPelaajaa, null, pysahtuuAlas);
98
99
100        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
101        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
102
103    }
104
105   
106   
107     
108   
109    void Ajastin()
110    {
111        Timer aikaLaskuri = new Timer();
112        aikaLaskuri.Start();
113
114        Label aikaNaytto = new Label();
115        aikaNaytto.TextColor = Color.White;
116        aikaNaytto.DecimalPlaces = 1;
117        aikaNaytto.BindTo(aikaLaskuri.SecondCounter);
118        Add(aikaNaytto);
119
120    }
121
122    void LuoVihu()
123    {
124        Add(vihollinen);
125    }
126    void Luopistelaskuri()
127    {
128       pisteLaskuri = new IntMeter(0);
129     
130       Label pisteNaytto = new Label();
131       pisteNaytto.X = Screen.Left + 100;
132       pisteNaytto.Y = Screen.Top - 100;
133       pisteNaytto.TextColor = Color.White;
134       pisteNaytto.Color = Color.Black;
135     
136       pisteNaytto.BindTo(pisteLaskuri);
137       Add(pisteNaytto);
138     
139       if (Equals("vihu")) 
140       {
141           pisteLaskuri.Value += 1;
142       }
143       
144    }
145
146    void LuoKentta()
147    {
148
149
150        PhysicsObject ylareuna = Level.CreateTopBorder(0.0, true);
151        PhysicsObject alareuna = Level.CreateBottomBorder(0.0, true);
152        PhysicsObject vasenreuna = Level.CreateLeftBorder(0.0, true);
153        PhysicsObject oikeareuna = Level.CreateRightBorder(0.0, true);
154        //Level.CreateBorders(1.0, true);
155
156        Level.Background.Color = Color.Aqua;
157        Camera.Follow(hahmo);
158        Camera.Zoom(2.0);
159
160
161    }
162   
163    void Ammusosui(PhysicsObject ammus, PhysicsObject kohde)
164    {
165        ammus.Destroy();
166        if (kohde.Tag.Equals("vihu"))
167        {
168            kohde.Destroy();
169        }
170       
171    }
172
173    void Ammuaseella(AssaultRifle ase)
174    {
175        PhysicsObject ammus = ase.Shoot();
176
177        if (ammus != null)
178        {
179            ammus.Size *= 0.5;
180
181            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
182        }
183    }
184    void KunPaaseeLahelle()
185    {
186        hahmo.Destroy();
187    }
188    void KavelytaPelaajaa(Vector suunta)
189    {
190        hahmo.Velocity = suunta;
191        if (suunta.X < 0)
192        {
193            hahmonase.Angle = Angle.FromDegrees(180.0);
194            hahmo.Image = hahmonkuvavasemmalle;
195        }
196        if (suunta.X > 0)
197        {
198            hahmonase.Angle = Angle.FromDegrees(0.0);
199            hahmo.Image = hahmonkuvaoikealle;
200        }
201        if (suunta.Y > 0)
202        {
203            hahmonase.Angle = Angle.FromDegrees(90.0);
204            hahmo.Image = hahmonkuvatakaa;
205
206        }
207        if (suunta.Y < 0)
208        {
209            hahmonase.Angle = Angle.FromDegrees(270.0);
210            hahmo.Image = hahmonkuva;
211        }
212
213       
214       
215           
216       
217
218    }
219}
Note: See TracBrowser for help on using the repository browser.