- Timestamp:
- 2017-07-27 11:40:55 (6 years ago)
- Location:
- 2017/30/OlliL/Bomb helicopter/Bomb helicopter/Bomb_helicopter
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2017/30/OlliL/Bomb helicopter/Bomb helicopter/Bomb_helicopter/Bomb_helicopter.cs
r9148 r9154 23 23 Image Ohjus = LoadImage("ohjuspieni"); 24 24 IntMeter pisteLaskuri; 25 bool saakoHeittaaKranaatin = true; 26 DoubleMeter ampumislaskuri; 27 IntMeter laukaisijoitaTuhottuLaskuri; 25 28 26 29 … … 38 41 { 39 42 ClearAll(); 43 LuoHelikopteri(-2500, 0.0); 40 44 LuoPistelaskuri(); 45 LuoAmpumisLaskuri(); 41 46 Level.Width = Window.Width * 3; 42 47 Level.Height = Window.Height; … … 44 49 Camera.ZoomToLevel(); 45 50 Camera.StayInLevel = true; 46 L uoHelikopteri(-2500, 0.0);51 LaukaisijoitaTuhottuLaskuri(); 47 52 AsetaOhjaimet(); 48 53 Camera.Follow(helikopteri); … … 74 79 } 75 80 81 void LuoAmpumisLaskuri() 82 { 83 ampumislaskuri = new DoubleMeter(2); 84 ampumislaskuri.MaxValue = ampumislaskuri.Value; 85 ampumislaskuri.AddOverTime(-2.0, 2.0); 86 ampumislaskuri.LowerLimit += delegate { saakoHeittaaKranaatin = true; }; 87 88 ProgressBar elamaPalkki = new ProgressBar(150, 20); 89 elamaPalkki.X = 0.0; 90 elamaPalkki.Y = helikopteri.Height *0.7; 91 elamaPalkki.BindTo(ampumislaskuri); 92 elamaPalkki.BarColor = Color.DarkGreen; 93 94 helikopteri.Add(elamaPalkki); 95 } 96 97 void LaukaisijoitaTuhottuLaskuri() 98 { 99 laukaisijoitaTuhottuLaskuri = new IntMeter(0); 100 laukaisijoitaTuhottuLaskuri.MaxValue = 0; 101 102 Label pisteNaytto = new Label(); 103 pisteNaytto.X = Screen.Left + 100; 104 pisteNaytto.Y = Screen.Top - 150; 105 pisteNaytto.TextColor = Color.Black; 106 pisteNaytto.Color = Color.White; 107 108 pisteNaytto.BindTo(laukaisijoitaTuhottuLaskuri); 109 Add(pisteNaytto); 110 laukaisijoitaTuhottuLaskuri.UpperLimit += KaikkiLaukaisijatTuhottu; 111 } 112 113 void KaikkiLaukaisijatTuhottu() 114 { 115 MessageDisplay.Add("Voit nyt mennä kentän oikeaan päähän!"); 116 } 76 117 void AsetaOhjaimet() 77 118 { … … 122 163 void HeitaKranaatti(PhysicsObject helikopteri) 123 164 { 165 166 if (saakoHeittaaKranaatin == false) 167 { 168 return; 169 } 124 170 Grenade kranu = new Grenade(3.0); 125 171 kranu.Position = new Vector (helikopteri.X, helikopteri.Y -20); … … 127 173 kranu.Explosion.AddShockwaveHandler("vihollinen", KranaattiOsui); 128 174 Add(kranu); 175 saakoHeittaaKranaatin = false; 176 177 //Timer.SingleShot(2.0, delegate { saakoHeittaaKranaatin = true; }); 178 ampumislaskuri.Value = ampumislaskuri.MaxValue; 179 ampumislaskuri.AddOverTime(-ampumislaskuri.Value, ampumislaskuri.MaxValue); 129 180 } 130 181 … … 148 199 laukaisija.LaukaisuAjastin.Start(); 149 200 150 201 laukaisijoitaTuhottuLaskuri.MaxValue++; 151 202 } 152 203 … … 166 217 if (laukaisija.Tag == "vihollinen") 167 218 { 219 // Vaihtaa laukaisijan tilalle rikkinäisen ja pysäyttää, ettei se enään ammu. 168 220 laukaisija.Image = laukaisinrikki; 169 (laukaisija as Vihu).LaukaisuAjastin.Stop(); 221 if ((laukaisija as Vihu).Rikkinainen == false) 222 { 223 laukaisijoitaTuhottuLaskuri.Value++; 224 } 225 (laukaisija as Vihu).Riko(); 226 227 228 170 229 } 171 230 } … … 201 260 } 202 261 } 203 class Vihu : PhysicsObject262 public class Vihu : PhysicsObject 204 263 { 205 264 public Timer LaukaisuAjastin; 206 265 public bool Rikkinainen = false; 207 266 public Vihu(double leveys, double korkeus) 208 267 : base(leveys, korkeus) … … 210 269 211 270 } 271 272 public void Riko() 273 { 274 LaukaisuAjastin.Stop(); 275 Rikkinainen = true; 276 } 277 212 278 }
Note: See TracChangeset
for help on using the changeset viewer.