source: 2013/24/AleksanteriV/Protokolla236/Protokolla236/Protokolla236/Protokolla236.cs @ 4099

Revision 4099, 8.3 KB checked in by alvirmas, 7 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
9public class Protokolla236 : PhysicsGame
10{
11   
12    Image tausta = LoadImage("tausta02");
13
14    Image pelaajankuva = LoadImage("pelaaja1.0");
15
16    Image taso2 = LoadImage("taso2");
17    Image taso3 = LoadImage("taso3");
18    Image taso4 = LoadImage("taso4");
19    private Image[] tasoanim = LoadImages("taso1", "taso1.1", "taso1.2", "taso1.3", "taso1", "taso1", "taso1.3", "taso1", "taso1.1");
20    private Image[] liekkianim = LoadImages("liekki1.1", "liekki1.2");
21    private Image[] taso5anim = LoadImages("taso5.1", "taso5.2", "taso5.3", "taso5.4", "taso5.5", "taso5.6", "taso5.7");
22
23    Image Block021 = LoadImage("Block2.1");
24    Image BlockMusta = LoadImage("Blockmusta");
25    Image Blocklasi = LoadImage("Blocklasi");
26    Image Block121 = LoadImage("Block121");
27
28    private Image[] vihu1 = LoadImages("vihu01","vihu02");
29    private Image[] vihu2 = LoadImages("vihu05","vihu051","vihu052","vihu053","vihu054");
30    private Image[] vihu3 = LoadImages("vihu031", "vihu032", "vihu033");
31    private Image[] vihu4 = LoadImages("vihu041", "vihu042", "vihu043","vihu042");
32
33    private Image[] tasoliekkianim = LoadImages("taso23.1","taso23.2","taso23.3");
34    private Image[] Blockanim = LoadImages("Block1.1","Block1.2","Block1.3","Block1.2");
35    SoundEffect raketti = LoadSoundEffect("raketti");
36    AssaultRifle pelaajan1Ase;
37    private Image[] ammusanim = LoadImages("ammus","ammus2");
38
39    private string[] soitin = { "nitrome - bullethead", "nitrome - enemy 585 3", "nitrome - N.M.D" };
40
41
42    public override void Begin()
43    {
44
45
46        luokentta();
47
48        Gravity = new Vector(0.0, -200.0);
49        Level.CreateBorders(0.5, true);
50
51       
52        MediaPlayer.Play(soitin[RandomGen.NextInt(0,soitin.Length)]);
53        MediaPlayer.IsRepeating = true;
54
55       
56       
57       
58
59
60        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
61        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
62    }
63    void luokentta()
64    {
65        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta2");
66        //478DFF
67        ruudut.SetTileMethod(Color.FromHexCode("00FF00"), luopelaaja);
68        ruudut.SetTileMethod(Color.FromHexCode("000000"), luotaso, new Animation(tasoanim));
69        ruudut.SetTileMethod(Color.FromHexCode("FFFF00"), luotaso, (Animation)taso3);
70        ruudut.SetTileMethod(Color.FromHexCode("54FFEB"), luotaso, (Animation)taso4);
71        ruudut.SetTileMethod(Color.FromHexCode("FF0087"), luotaso, new Animation(taso5anim));
72        ruudut.SetTileMethod(Color.FromHexCode("0000FF"), luotaso, new Animation(tasoliekkianim));
73        ruudut.SetTileMethod(Color.FromHexCode("D9FF93"), luotaso, (Animation)Blocklasi);
74        ruudut.SetTileMethod(Color.FromHexCode("FF42C0"), luotausta, new Animation(Blockanim));
75        ruudut.SetTileMethod(Color.FromHexCode("42B9FF"), luotausta, (Animation)BlockMusta);
76        ruudut.SetTileMethod(Color.FromHexCode("00FF90"), luotausta, (Animation)Block021);
77        ruudut.SetTileMethod(Color.FromHexCode("478DFF"), luotausta, (Animation)Block121);
78        ruudut.SetTileMethod(Color.FromHexCode("FF0000"), luovihu, new Animation(vihu2));
79        ruudut.SetTileMethod(Color.FromHexCode("FF5700"), luovihu, new Animation(vihu3));
80        ruudut.SetTileMethod(Color.FromHexCode("FF5711"), luovihu, new Animation(vihu4));
81        ruudut.Execute(50, 50);
82    }
83
84    void luotaso(Vector paikka, double leveys, double korkeus, Animation kuva)
85    {
86        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
87        taso.Position = paikka;
88       
89        Add(taso);
90        taso.Animation = kuva;
91        taso.Animation.Start();
92        taso.Animation.FPS = RandomGen.NextDouble(3.0, 7.0);
93    }
94
95    void luotausta(Vector paikka, double leveys, double korkeus, Animation kuva)
96    {
97        GameObject Block = new GameObject(50, 50);
98        Block.Position = paikka;
99        Add(Block, -2);
100        Block.Animation = kuva;
101        Block.Animation.Start();
102        Block.Animation.FPS = 5;
103    }
104
105    void luopelaaja(Vector paikka, double leveys, double korkeus)
106    {
107        PhysicsObject pelaaja1 = new PhysicsObject(50, 50);
108        pelaaja1.Image = LoadImage("pelaaja1.0");
109        pelaaja1.Position = paikka;
110        pelaaja1.CanRotate = false;
111        Camera.Follow( pelaaja1 );
112        Camera.StayInLevel = true;
113        pelaaja1.Shape = Shape.FromImage(pelaajankuva);
114        pelaaja1.Tag = "pelaaja";
115        pelaaja1.Restitution = 0.5;
116        Add(pelaaja1, 1);
117
118        pelaajan1Ase = new AssaultRifle(30, 10);
119        pelaajan1Ase.IsVisible = false;
120        pelaajan1Ase.Angle = Angle.RightAngle;
121        //Ammusten määrä aluksi:
122        pelaajan1Ase.Ammo.Value = 1000;
123        pelaajan1Ase.Power.DefaultValue = 100;
124        //Mitä tapahtuu kun ammus osuu johonkin?
125        pelaajan1Ase.ProjectileCollision = AmmusOsui;
126
127        pelaaja1.Add(pelaajan1Ase);
128
129        GameObject liekki = new GameObject(50, 50);
130        liekki.Animation = new Animation(liekkianim);
131        liekki.IsVisible = false;
132        liekki.Animation.Start();
133        pelaaja1.Add(liekki);
134        liekki.Y = -25;
135
136        GameObject tausta1 = new GameObject(Level.Width, Level.Height);
137        tausta1.Image = tausta;
138        //tausta1.Position = pelaaja1.Position;
139        Add(tausta1, -3);
140        Layers[-3].RelativeTransition = new Vector(0.5, 0.5);
141
142
143        Keyboard.Listen(Key.Left, ButtonState.Down,
144          kaannaPelaajaa, null, 5.0, pelaaja1);
145        Keyboard.Listen(Key.Right, ButtonState.Down,
146          kaannaPelaajaa, null, -5.0, pelaaja1);
147        Keyboard.Listen(Key.Up, ButtonState.Down,
148          LiikutaPelaajaa, null, 1000.0, pelaaja1);
149        Keyboard.Listen(Key.Space, ButtonState.Down,
150            AmmuAseella, null, pelaajan1Ase);
151           
152        /*Keyboard.Listen(Key.Down, ButtonState.Down,
153          LiikutaPelaajaa, null, -1000, pelaaja1);*/
154        //-----------------------------------------------------------------
155        Keyboard.Listen(Key.Up, ButtonState.Down,
156         liekkianimaatio, null, liekki,true);
157        Keyboard.Listen(Key.Up, ButtonState.Released,
158         liekkianimaatio, null, liekki,false);
159     }
160    void AmmuAseella(AssaultRifle ase)
161    {
162        PhysicsObject ammus = ase.Shoot();
163
164        if (ammus != null)
165        {
166            ammus.Angle = ase.AbsoluteAngle -Angle.RightAngle;
167            ammus.Size *= 3;
168            ammus.Animation = new Animation (ammusanim);
169            ammus.Animation.Start();
170            ammus.Animation.FPS = 3;
171           
172            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
173        }
174    }
175    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
176    {
177        ammus.Destroy();
178        if (kohde.Tag.ToString() == "vihu")
179        {
180            kohde.Destroy();
181        }
182    }
183
184    void liekkianimaatio(GameObject liekki, bool totuus)
185    {
186        liekki.IsVisible = totuus;
187        if (totuus)
188        {
189           
190            if(!raketti.IsPlaying)
191            {
192                raketti.Play();
193            }
194        }
195        else
196        {
197            raketti.Stop();
198        }
199    }
200
201    void kaannaPelaajaa(double kulmanopeus, PhysicsObject pelaaja)
202    {
203        pelaaja.Angle += Angle.FromDegrees(kulmanopeus);
204    }
205    void LiikutaPelaajaa(double nopeus, PhysicsObject pelaaja1)
206    {
207        pelaaja1.Push(Vector.FromLengthAndAngle(nopeus, pelaaja1.Angle + Angle.RightAngle));
208    }
209
210    void luotaso(Vector paikka, double leveys, double korkeus) 
211    {
212       
213    }
214
215    void luovihu(Vector paikka, double leveys, double korkeus, Animation kuva) 
216    {
217        PhysicsObject vihu = new PhysicsObject(50, 50);
218        vihu.Shape = Shape.Circle;    //FromImage(kuva);
219        vihu.Animation = kuva;
220        vihu.Position = paikka;
221        vihu.Tag = "vihu";
222        vihu.IgnoresGravity = true;
223        Add(vihu, 1);
224        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(50);
225        satunnaisAivot.ChangeMovementSeconds = 5;
226        vihu.Brain = satunnaisAivot;
227        vihu.Animation.Start();
228        vihu.Animation.FPS = 4;
229       
230    }
231
232
233
234
235}
Note: See TracBrowser for help on using the repository browser.