Changeset 5296
- Timestamp:
- 2014-07-02 14:57:12 (9 years ago)
- Location:
- 2014/27/ArttuR
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/27/ArttuR/Peli_1/Peli_1/Peli_1/Peli_1/Peli_1.cs
r5279 r5296 12 12 PeliVihu hirvio; 13 13 PhysicsObject ammus; 14 PhysicsObject avain; 15 PhysicsObject paketti; 14 16 GameObject tahtain; 17 Light valo; 15 18 Vector suunta; 16 19 … … 26 29 Image lattiaKuva = LoadImage("Lattia_1"); 27 30 31 DoubleMeter elamaLaskuri; 32 28 33 public override void Begin() 29 34 { 30 35 LuoAlkuvalikko(); 31 32 PhoneBackButton.Listen(ConfirmExit, "Lopueta peli");33 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");34 36 } 35 37 … … 43 45 44 46 LuoPelaaja(-1550, 150); 47 LuoPaketti(1300, 150); 45 48 LuoHirvio(500, 0); 49 LuoHirvio(-1000, 150); 46 50 LuoAvain(500, -75); 51 LuoValo(); 47 52 LisaaOhjaimet(); 48 53 Camera.Follow(pelaaja); 54 Camera.Zoom(1.75); 55 LuoElamaLaskuri(); 49 56 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Taso_1"); 50 57 … … 64 71 } 65 72 73 void LuoElamaLaskuri() 74 { 75 elamaLaskuri = new DoubleMeter(3); 76 elamaLaskuri.MaxValue = 3; 77 elamaLaskuri.LowerLimit += ElamaLoppui; 78 79 ProgressBar elamaPalkki = new ProgressBar(150, 20); 80 elamaPalkki.X = Screen.Right - 150; 81 elamaPalkki.Y = Screen.Top - 20; 82 elamaPalkki.Color = Color.White; 83 elamaPalkki.BindTo(elamaLaskuri); 84 Add(elamaPalkki, 3); 85 } 86 87 void ElamaLoppui() 88 { 89 MessageDisplay.Add("Elämät loppuivat."); 90 LuoKuolemaValikko(); 91 } 92 66 93 void AmmusOsui(PhysicsObject ammus, PhysicsObject seina) 67 94 { 68 95 if(seina.Tag.Equals("seina")) ammus.Destroy(); 69 } 96 } 70 97 71 98 void HirvioAmmuttiin(PhysicsObject hirvio, PhysicsObject ammus) … … 81 108 void PelaajaTormasi(PhysicsObject pelaaja, PhysicsObject hirvio) 82 109 { 110 elamaLaskuri.Value -= 1; 111 112 Explosion rajahdys = new Explosion(50); 113 rajahdys.Position = pelaaja.Position; 114 rajahdys.Speed = 500.0; 115 rajahdys.Force = 30; 116 rajahdys.IsVisible = false; 117 Add(rajahdys); 118 83 119 MessageDisplay.Add("Pelaaja törmäsi!"); 84 120 ((PeliHahmo)pelaaja).Elamat--; … … 90 126 } 91 127 128 void PoimiPaketti(PhysicsObject pelaaja, PhysicsObject paketti) 129 { 130 pelaajanAse.Ammo.Value += 10; 131 paketti.Destroy(); 132 } 133 134 void PoimiAvain(PhysicsObject pelaaja, PhysicsObject avain) 135 { 136 avain.Destroy(); 137 } 138 92 139 void LisaaOhjaimet() 93 140 { 141 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoPauseValikko, null); 94 142 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-4000, 0)); 95 143 Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(4000, 0)); … … 99 147 } 100 148 149 void LuoPauseValikko() 150 { 151 MultiSelectWindow pauseValikko = new MultiSelectWindow("Pause", "Jatka", "Yritä uudelleen", "Lopeta peli"); 152 pauseValikko.AddItemHandler(1, YritaUudelleen); 153 pauseValikko.AddItemHandler(2, Exit); 154 Add(pauseValikko); 155 } 156 101 157 void LiikutaPelaajaa(Vector vektori) 102 158 { … … 112 168 pelaaja.X = x; 113 169 pelaaja.Y = y; 170 pelaaja.CollisionIgnoreGroup = 1; 114 171 pelaaja.LinearDamping = 0.5; 115 172 pelaaja.Image = pelaajanKuva; 116 173 pelaaja.CanRotate = false; 117 174 pelaaja.RotateImage = true; 118 Add(pelaaja, 2); 175 176 Add(pelaaja); 177 119 178 120 179 pelaajanAse = new AssaultRifle(30, 10); 121 180 pelaajanAse.Ammo.Value = 1000; 122 pelaajanAse.FireRate = 2;181 pelaajanAse.FireRate = 10; 123 182 pelaajanAse.Image = aseenKuva; 124 183 pelaajanAse.X = 5; … … 129 188 LuoTahtain(); 130 189 131 Camera.Zoom(1.75);132 133 190 Mouse.ListenMovement(1.0, HiiriLiikkui, ""); 134 191 135 192 AddCollisionHandler(pelaaja, "hirvio", PelaajaTormasi); 193 } 194 195 void LuoPaketti(double x, double y) 196 { 197 paketti = new PhysicsObject(20, 20); 198 paketti.X = x; 199 paketti.Y = y; 200 201 Add(paketti, 2); 202 203 AddCollisionHandler(pelaaja, PoimiPaketti); 136 204 } 137 205 … … 147 215 void LuoAvain(double x, double y) 148 216 { 149 PhysicsObjectavain = new PhysicsObject(20, 20);217 avain = new PhysicsObject(20, 20); 150 218 avain.Image = avaimenKuva; 219 AddCollisionHandler(pelaaja, "avain", PoimiAvain); 151 220 avain.X = x; 152 221 avain.Y = y; 153 Add(avain, 2); 222 avain.Tag = "avain"; 223 Add(avain); 154 224 } 155 225 … … 159 229 PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); 160 230 seina.Position = paikka; 161 seina.Color = Color. Black;231 seina.Color = Color.Green; 162 232 //seina.Image = seinaKuva; 163 seina.CollisionIgnoreGroup = 1;233 seina.CollisionIgnoreGroup = 2; 164 234 seina.Tag = "seina"; 165 Add(seina ,2);235 Add(seina); 166 236 } 167 237 … … 199 269 200 270 FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 201 seuraajanAivot.Speed = 200;271 seuraajanAivot.Speed = 300; 202 272 seuraajanAivot.DistanceFar = 400; 203 273 seuraajanAivot.FarBrain = labyrinttiAivot; … … 231 301 alkuValikko.Color = Color.Black; 232 302 } 303 304 void LuoKuolemaValikko() 305 { 306 MultiSelectWindow kuolemaValikko = new MultiSelectWindow ("Kuolit...", "Yritä Uudelleen", "Lopeta"); 307 Add(kuolemaValikko); 308 309 kuolemaValikko.AddItemHandler(0, YritaUudelleen); 310 kuolemaValikko.AddItemHandler(1, Exit); 311 } 312 313 void YritaUudelleen() 314 { 315 ClearAll(); 316 LuoKentta(); 317 } 318 319 void LuoValo() 320 { 321 Level.AmbientLight = 0.0; 322 323 valo = new Light(); 324 valo.Intensity = 1; 325 valo.Distance = 500; 326 valo.Position = pelaaja.Position; 327 Add(valo); 328 } 329 330 protected override void Update(Time time) 331 { 332 if (valo != null && pelaaja != null) 333 { 334 valo.Position = pelaaja.Position; 335 } 336 base.Update(time); 337 } 233 338 } 234 339
Note: See TracChangeset
for help on using the changeset viewer.