source: 2012/09-22/JariK/Jimmy The Survivor!/Jimmy The Survivor!/Jimmy The Survivor!/Jimmy_The_Survivor_.cs @ 3865

Revision 3865, 5.4 KB checked in by hniemi, 8 years ago (diff)

Tavarat turvaan.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Jimmy_The_Survivor_ : PhysicsGame
10{
11
12    PhysicsObject Jimmy;
13    PlasmaCannon Jimmyase;
14    EasyHighScore topLista = new EasyHighScore();
15
16    DoubleMeter elamaLaskuri;
17
18    public override void Begin()
19    {
20        LuoElamaLaskuri();
21        LuoPistelaskuri();
22
23        IsMouseVisible = true;
24        MultiSelectWindow alkuValikko = new MultiSelectWindow("Jimmy The Survivor", "Start game", "Top ten", "Exit game");
25       
26        alkuValikko.AddItemHandler(0, AloitaPeli);
27        alkuValikko.AddItemHandler(1, ParhaatPisteet);
28        alkuValikko.AddItemHandler(2, Exit);
29        alkuValikko.DefaultCancel = 2;
30        Add(alkuValikko);
31
32        Gravity = new Vector(0.0, -800.0);
33        Jimmy = new PhysicsObject(40, 40);
34        Jimmy.Color = Color.Green;
35        Jimmy.Shape = Shape.Ellipse;
36        Jimmy.Restitution = 1.0;
37        Add(Jimmy);
38        AddCollisionHandler(Jimmy, VihollinenTormasi);
39        Jimmyase = new PlasmaCannon(30, 10);
40        Jimmyase.Ammo.Value = 1000;
41        Jimmy.Add(Jimmyase);
42
43     
44
45
46
47        Surface alaReuna = Surface.CreateBottom(Level);
48        Add(alaReuna);
49        alaReuna.Color = Color.Black;
50        Surface yläreuna = Surface.CreateTop(Level);
51        Add(yläreuna);
52        yläreuna.Color = Color.LightBlue;
53        Surface vasenreuna = Surface.CreateLeft(Level);
54        Add(vasenreuna);
55        vasenreuna.Color = Color.LightBlue;
56        Surface oikeareuna = Surface.CreateRight(Level);
57        oikeareuna.Color = Color.LightBlue;
58        Add(oikeareuna);
59        FollowerBrain seuraajanAivot = new FollowerBrain(Jimmy);
60        seuraajanAivot.Speed = 10;
61        seuraajanAivot.Active = true;
62        seuraajanAivot.DistanceClose = 2000;
63        seuraajanAivot.StopWhenTargetClose = false;
64        seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella;
65        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
66        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", Jimmyase);
67        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella");
68        LisaaVihollisia();
69    }
70    void CreateBorders()
71    {
72   
73    }
74    void VihollinenTormasi(PhysicsObject Jimmy, PhysicsObject kohde)
75    {
76       //AddCollisionHandler(Jimmy, "Vihollinen", CollisionHandler.AddMeterValue(elamaLaskuri, -1));
77        elamaLaskuri.Value -= 1;
78       
79    }
80    void AmmuAseella(PlasmaCannon ase)
81    {
82        PhysicsObject ammus = ase.Shoot();
83
84        if (ammus != null)
85        {
86            AddCollisionHandler(ammus, "Vihollinen", Vihollinenkuolee);
87        }
88
89        ase.FireRate = 10;
90    }
91    void AmmusOsui(PhysicsObject ammus, PhysicsObject Vihollinen)
92    {
93        ammus.Destroy();
94    }
95    void KaannaTykkia(Weapon tykki, Angle kulma)
96    {
97        tykki.Angle += kulma;
98    }
99
100    void Tahtaa(AnalogState hiirenLiike)
101    {
102
103        Vector suunta = (Mouse.PositionOnWorld - Jimmyase.AbsolutePosition).Normalize();
104        Jimmyase.Angle = suunta.Angle;
105    }
106    void Vihollinenkuolee(PhysicsObject ammus, PhysicsObject Vihollinen)
107    {
108        Vihollinen.Destroy();
109        pisteLaskuri.Value += 1;
110    }
111    void LisaaVihollisia()
112    {
113        Timer ajastin = new Timer();
114        ajastin.Interval = 0.5;
115        ajastin.Timeout += LisaaVihollinen;
116        ajastin.Start();
117    }
118    void LisaaVihollinen()
119    {
120        PhysicsObject Vihollinen = new PhysicsObject(50, 50);
121        Vihollinen.Shape = Shape.Ellipse;
122        Vihollinen.Color = Color.Blue;
123        Vihollinen.Position = new Vector(250, 30);
124        Add(Vihollinen);
125        Vihollinen.Tag = "Vihollinen";
126
127
128
129
130
131    }
132    void mitaTapahtuuKunOllaanLahella()
133    {
134       
135
136    }
137    void AloitaPeli()
138    {
139    }
140    void ParhaatPisteet()
141    {
142    }
143   
144    IntMeter pisteLaskuri;
145
146    void LuoPistelaskuri()
147    {
148        pisteLaskuri = new IntMeter(0);
149
150        Label pisteNaytto = new Label();
151        pisteNaytto.X = Screen.Left + 100;
152        pisteNaytto.Y = Screen.Top - 100;
153        pisteNaytto.TextColor = Color.Black;
154        pisteNaytto.Color = Color.White;
155
156        pisteNaytto.BindTo(pisteLaskuri);
157        Add(pisteNaytto);
158       
159       
160     
161
162    }
163    void PainettiinValikonNappia(int valinta)
164    {
165        switch (valinta)
166        {
167            case 0:
168                // AloitaPeli();
169                break;
170            case 1:
171                // ParhaatPisteet();
172                break;
173            case 2:
174                Exit();
175                break;
176        }
177
178    }
179    void LuoElamaLaskuri()
180    {
181        elamaLaskuri = new DoubleMeter(10);
182        elamaLaskuri.MaxValue = 100;
183        elamaLaskuri.LowerLimit += ElamaLoppui;
184       
185
186        ProgressBar elamaPalkki = new ProgressBar(150, 20);
187        elamaPalkki.X = Screen.Left + 150;
188        elamaPalkki.Y = Screen.Top - 20;
189        elamaPalkki.BindTo(elamaLaskuri);
190        Add(elamaPalkki);
191    }
192
193    void ElamaLoppui()
194    {
195        ClearGameObjects();
196        MessageDisplay.Add("Jimmy you fool! You can't never stop my army! Muahhahhahhahhahhaa! ");
197        topLista.EnterAndShow(pisteLaskuri.Value);
198        topLista.HighScoreWindow.Closed += delegate { Exit(); };
199
200    }
201
202 
203
204}
Note: See TracBrowser for help on using the repository browser.