source: 2012/26/AleksanteriV/Water wey/Water wey/Water wey/Water_wey.cs @ 3744

Revision 3744, 8.5 KB checked in by alvirmas, 8 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9class Pelaaja : PhysicsObject
10{
11    public IntMeter elamaLaskuri = new IntMeter(3, 0, 3);
12
13    public Pelaaja(double leveys, double korkeus)
14        : base(leveys, korkeus)
15    {
16        elamaLaskuri.LowerLimit += delegate
17        {
18            this.Destroy();
19        };
20    }
21}
22
23public class Water_wey : PhysicsGame
24{
25    //------------------------------------------------------------- PhysicsObject
26    PhysicsObject vesi;
27    Pelaaja pelaaja;
28    Pelaaja pelaaja2;
29
30    IntMeter pistelaskuri1;
31    IntMeter pistelaskuri2;
32
33    public override void Begin()
34    {
35        ClearAll();
36        //PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
37        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");//Confirm
38
39        Keyboard.Listen(Key.Space, ButtonState.Pressed, Begin, "aloita alusta");
40        // Keyboard.Listen(Key.Right, ButtonState.Pressed, Gravity, new Vector(-100, 0);
41        // luopelaaja2();
42        // luopelaaja();
43        Image[] pelaaja1Kuvat = LoadImages("pelaaja", "pelaaja0.2", "pelaaja", "pelaaja0.3");
44        Image[] pelaaja2Kuvat = LoadImages("KALA20.1", "KALA20.2", "KALA20.1", "KALA20.3");
45        pelaaja = LuoPelaaja(-100, -100, pelaaja1Kuvat);
46        pelaaja2 = LuoPelaaja(100, -100, pelaaja2Kuvat);
47
48        pistelaskuri1 = LuoPistelaskuriJaNaytto(Screen.Left + 100, Screen.Top - 100, new Color(0, 0, 255, 255), Color.White);
49        pistelaskuri2 = LuoPistelaskuriJaNaytto(Screen.Right - 100, Screen.Top - 100, new Color(255, 255, 0, 255), Color.Black);
50
51        AddCollisionHandler(pelaaja, "siittio", CollisionHandler.AddMeterValue(pistelaskuri1, 1));
52        AddCollisionHandler(pelaaja2, "siittio", CollisionHandler.AddMeterValue(pistelaskuri2, 1));
53
54        LuoKala(pelaaja);
55        LuoKala(pelaaja2);
56       
57        LuoSiittio();
58        lisaaohjaimet();
59
60        // Gravity = new Vector(0, -500);
61        Level.CreateBorders();
62        IsFullScreen = true;
63        Level.Background.Image = LoadImage("underwater");
64        Level.Background.FitToLevel();
65        Camera.ZoomToLevel();
66
67        int Laskuri = 0;
68        // int laskuri2 = 0;
69        while (Laskuri < 900)
70        {
71            vesi = new PhysicsObject(25, 25);
72            vesi.Shape = Shape.Circle;
73
74            vesi.Color = new Color(0, 0, 100, 5);
75            vesi.Mass = 0.5;
76            vesi.X = RandomGen.NextDouble(Level.Left, Level.Right);
77            vesi.Y = RandomGen.NextDouble(Level.Bottom, Level.Top);
78            Add(vesi);
79            Laskuri++;
80        }
81   
82       
83}
84
85    //-----------------------------------------------------------------------Aliohjelmat
86
87    IntMeter LuoPistelaskuriJaNaytto(double x, double y, Color naytonTausta, Color tekstinVari)
88    {
89        IntMeter pisteLaskuri = new IntMeter(0);
90        Label pisteNaytto = new Label();
91        pisteNaytto.X = x;
92        pisteNaytto.Y = y;
93        pisteNaytto.TextColor = tekstinVari;
94        pisteNaytto.YMargin = 6;
95        pisteNaytto.XMargin = 12;
96        pisteNaytto.Color = naytonTausta;
97        pisteNaytto.BindTo(pisteLaskuri);
98        Add(pisteNaytto);
99        return pisteLaskuri;
100    }
101
102    void LuoSiittio()
103    {
104        PhysicsObject siittio = new PhysicsObject(20, 20);
105        siittio.Shape = Shape.Circle;
106        siittio.Animation = new Animation(LoadImages("siiittio", "siiittio2", "siiittio3", "siiittio4", "siiittio5", "siiittio6"));
107        siittio.Animation.FPS = 10;
108        siittio.Animation.Start();
109        siittio.Mass = 0.5;
110        siittio.Tag = "siittio";
111        siittio.X = RandomGen.NextDouble(Level.Left, Level.Right);
112        siittio.Y = RandomGen.NextDouble(Level.Bottom, Level.Top);
113        Add(siittio);
114    }
115
116    Pelaaja LuoPelaaja(double x, double y, Image[] animaatioKuvat)
117    {
118        Pelaaja pelaaja = new Pelaaja(100, 50);
119        pelaaja.Shape = Shape.FromImage(LoadImage("pelaaja"));
120        pelaaja.Position = new Vector(x, y);
121        pelaaja.Mass = 100;
122        pelaaja.Animation = new Animation(animaatioKuvat);
123        pelaaja.Animation.FPS = 10;
124        pelaaja.Animation.Start();
125        // pelaaja.Tag = "";
126        Add(pelaaja);
127        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja, "kala", kalaOsuu);
128        AddCollisionHandler(pelaaja, "siittio", CollisionHandler.DestroyTarget);
129        AddCollisionHandler<PhysicsObject, PhysicsObject>(pelaaja, "siittio", delegate
130        {
131            LuoSiittio();
132            LuoSiittio();
133        });
134        return pelaaja;
135    }
136
137    //void luopelaaja2()//Vector paikka, double leveys, double korkeus
138    //{
139    //    pelaaja2 = new PhysicsObject(100, 50);
140    //    pelaaja2.Shape = Shape.FromImage(LoadImage("KALA20.1"));
141    //    pelaaja2.Position = new Vector(-100, 100);
142    //    pelaaja2.Mass = 100;
143    //    pelaaja2.Animation = new Animation(LoadImages("KALA20.1", "KALA20.2", "KALA20.1", "KALA20.3"));
144    //    pelaaja2.Animation.FPS = 10;
145    //    pelaaja2.Animation.Start();
146    //    //(pelaaja.Tag = "";)
147    //    Add(pelaaja2);
148
149
150    //    // AddCollisionHandler(pelaaja, "palikka", PysaytaPelaaja);
151    //}
152
153    void LuoKala(PhysicsObject seurattava)
154    {
155        double x = RandomGen.NextDouble(0.0, 500.0);
156        double y = RandomGen.NextDouble(0.0, 300.0);
157
158        PhysicsObject kala = new PhysicsObject(100, 50);
159        FollowerBrain seuraajanAivot = new FollowerBrain(seurattava);
160        seuraajanAivot.TurnWhileMoving = true;
161        kala.Brain = seuraajanAivot;
162        seuraajanAivot.Speed = 200;
163        kala.Mass = 50;
164        kala.X = x;
165        kala.Y = y;
166        kala.Shape = Shape.FromImage(LoadImage("kala"));
167        kala.Animation = new Animation(LoadImages("kala0.1", "kala0.2", "kala0.1", "kala0.3"));
168        kala.Animation.FPS = 10;
169        kala.Animation.Start();
170        kala.Tag = "kala";
171        Add(kala);
172
173        Timer nopeuttaja = new Timer();
174        nopeuttaja.Interval = 3;
175        nopeuttaja.Timeout += delegate
176        {
177            seuraajanAivot.Speed += 20;
178        };
179        nopeuttaja.Start();
180    }
181
182    void kalaOsuu(Pelaaja player, PhysicsObject kala)
183    {
184        player.elamaLaskuri.Value--;
185        if (pelaaja.elamaLaskuri.Value == 0 && pelaaja2.elamaLaskuri.Value == 0)
186        {
187            Exit();
188        }
189    }
190
191    //---------------------------------------------------------------Ohjaimet
192
193    void lisaaohjaimet()
194    {
195        //-------------------------------------------------------------------------------------1
196        Keyboard.Listen(Key.Left, ButtonState.Down, kaannaPelaajaa, null, 4.0);
197        Keyboard.Listen(Key.Left, ButtonState.Released, kaannaPelaajaa, null, 0.0);
198        Keyboard.Listen(Key.Right, ButtonState.Down, kaannaPelaajaa, null, -4.0);
199        Keyboard.Listen(Key.Right, ButtonState.Released, kaannaPelaajaa, null, -0.0);
200        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null);
201        //---------------------------------------------------------------------------------2
202        Keyboard.Listen(Key.A, ButtonState.Down, kaannaPelaajaa2, null, 4.0);
203        Keyboard.Listen(Key.A, ButtonState.Released, kaannaPelaajaa2, null, 0.0);
204        Keyboard.Listen(Key.D, ButtonState.Down, kaannaPelaajaa2, null, -4.0);
205        Keyboard.Listen(Key.D, ButtonState.Released, kaannaPelaajaa2, null, -0.0);
206        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa2, null);
207        //Keyboard.Listen(Key.Down, ButtonState.Pressed, LiikutaPelaajaa, null, new Vector(0, -voima));
208
209        //Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelaajaX, null);
210        //Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelaajaX, null);
211        //Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaajaY, null);
212        //Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaPelaajaY, null);
213    }
214    void kaannaPelaajaa(double nopeus)
215    {
216        pelaaja.AngularVelocity = nopeus;
217    }
218    void LiikutaPelaajaa()
219    {
220        Vector pelaajanSuunta = Vector.FromLengthAndAngle(100000.0, pelaaja.Angle);
221        pelaaja.Push(pelaajanSuunta);
222    }
223
224    void kaannaPelaajaa2(double nopeus)
225    {
226        pelaaja2.AngularVelocity = nopeus;
227    }
228    void LiikutaPelaajaa2()
229    {
230        Vector pelaajanSuunta2 = Vector.FromLengthAndAngle(100000.0, pelaaja2.Angle);
231        pelaaja2.Push(pelaajanSuunta2);
232    }
233    //-------------------------------------------------------------
234
235
236}
Note: See TracBrowser for help on using the repository browser.