Changeset 3324
- Timestamp:
- 2012-06-28 15:00:51 (7 years ago)
- Location:
- 2012/26/KasperiK/TheLastBattle/TheLastBattle
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattle/TheLastBattle.cs
r3284 r3324 1 1 //The Last Battle 2 2 //By: Kasperi Kuusipuro 3 //Älä aja Ongelma 3 //vk26 2012 4 5 //Tee asteroidit LOPPUUN!!!!!!!!!! <---------TÄRKEÄÄÄ!!!!!!!!!!!!!!!!!! 6 4 7 using System; 5 8 using System.Collections.Generic; … … 15 18 PhysicsObject Pelaaja1; 16 19 PhysicsObject Pelaaja2; 20 PhysicsObject Asteroidi; 17 21 18 22 Image IhmisAlus = LoadImage("IhmisAlus"); … … 21 25 Image AlienAlus2 = LoadImage("AlienAlus2"); 22 26 Image IhmisAlus2 = LoadImage("IhmisAlus2"); 27 Image AsteroidiKuva = LoadImage("asteroidi"); 23 28 24 29 PlasmaCannon plasmaTykkiP1; … … 28 33 DoubleMeter elkkuMittariP2; 29 34 35 IntMeter pistelaskuriP1; 36 IntMeter pistelaskuriP2; 37 38 int AsteroidiLaskuri = 0; 39 40 30 41 public override void Begin() 31 42 { 32 43 //Kutsutaan Pelin luovat aliohjelmat 44 Pelaaja1 = LuoPelaaja(IhmisAlus, Level.Left + 50); 45 Pelaaja2 = LuoPelaaja(AlienAlus, Level.Right - 50); 46 33 47 LuoKentta(); 34 48 LisaaOhjaimet(); 35 } 36 37 // Luodaan pelaajat ja Kenttä 49 50 51 elkkuMittariP1 = LisaaElkut(Level.Left + 50, Level.Top, Color.Red); 52 elkkuMittariP2 = LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen); 53 54 LisaaNaytot(); 55 pistelaskuriP1 = LisaaLaskurit(Level.Left + 20, Level.Top - 50); 56 pistelaskuriP2 = LisaaLaskurit(Level.Right + 20, Level.Top - 50); 57 58 while (AsteroidiLaskuri < 15) 59 { 60 LuoSatunnainenAsteroidi(); 61 AsteroidiLaskuri++; 62 } 63 64 } 65 66 // Luodaan Kenttä 38 67 void LuoKentta() 39 68 { … … 43 72 Camera.ZoomToLevel(); 44 73 45 Pelaaja1 = new PhysicsObject(40, 50);46 Pelaaja1.Image = IhmisAlus;47 Pelaaja1.Restitution = 0.5;48 Pelaaja1.X = Level.Left + 50;49 Pelaaja1.Mass = 100;50 Add(Pelaaja1);51 74 52 75 //Luodaan plasmatykki … … 56 79 plasmaTykkiP1.InfiniteAmmo = true; 57 80 Pelaaja1.Add(plasmaTykkiP1); 58 59 Pelaaja2 = new PhysicsObject(40, 50);60 Pelaaja2.Image = AlienAlus;61 Pelaaja2.Restitution = 0.5;62 Pelaaja2.X = Level.Right - 50;63 Pelaaja2.Mass = 100.0;64 Add(Pelaaja2);65 81 66 82 //Luodaan plasmatykki … … 72 88 Pelaaja2.Add(plasmaTykkiP2); 73 89 74 //Kutsutaan elkkumittareita 75 LisaaElkut(Level.Left + 50, Level.Top , Color.Red, elkkuMittariP1); 76 LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen, elkkuMittariP2); 77 } 90 } 91 92 PhysicsObject LuoPelaaja(Image kuva, double x) 93 { 94 PhysicsObject Pelaaja = new PhysicsObject(40, 50); 95 Pelaaja.Image = kuva; 96 Pelaaja.Restitution = 0.5; 97 Pelaaja.X = x; 98 Pelaaja.Mass = 100.0; 99 Add(Pelaaja); 100 return Pelaaja; 101 } 102 103 void LuoSatunnainenAsteroidi() 104 { 105 double asteroidiX = RandomGen.NextDouble(Level.Left + 100.0, Level.Right - 100.0); 106 double asteroidiy = RandomGen.NextDouble(Level.Bottom, Level.Top); 107 Asteroidi = new PhysicsObject(50, 50); 108 Asteroidi.Image = AsteroidiKuva; 109 Asteroidi.X = asteroidiX; 110 Asteroidi.Y = asteroidiy; 111 Asteroidi.Mass = 10000; 112 Add(Asteroidi); 113 } 114 78 115 79 116 //Aliohjelma elkkumittareiden tekemiseen 80 void LisaaElkut(double x, double y, Color vari, DoubleMeter mittari)81 { 82 mittari = new DoubleMeter(100);83 mittari.MaxValue = 1 00;117 DoubleMeter LisaaElkut(double x, double y, Color vari) 118 { 119 DoubleMeter mittari = new DoubleMeter(1); 120 mittari.MaxValue = 1; 84 121 ProgressBar elkkuPalkki = new ProgressBar(200, 25); 85 122 elkkuPalkki.BindTo(mittari); 86 123 Add(elkkuPalkki); 124 125 mittari.LowerLimit += elkutLoppu; 87 126 88 127 elkkuPalkki.X = x; … … 90 129 elkkuPalkki.BarColor = vari; 91 130 elkkuPalkki.BorderColor = vari; 92 131 return mittari; 93 132 } 94 133 … … 116 155 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 117 156 } 118 119 //Aliohjelma Pelaajan liikuttamiseen157 158 //Aliohjelma Pelaajan liikuttamiseen 120 159 void LiikutaPelaajaa(PhysicsObject pelaaja, double nopeus, Image kuva) 121 160 { … … 124 163 pelaaja.Image = kuva; 125 164 } 165 126 166 //Aliohjelma pelaajan kääntämiseen 127 167 void KaannaPelaajaa(PhysicsObject pelaaja, double voima) … … 130 170 } 131 171 172 173 IntMeter LisaaLaskurit( double x, double y) 174 { 175 IntMeter pisteLaskuri = new IntMeter(0); 176 pisteLaskuri.MaxValue = 5; 177 Label pisteNaytto = new Label(); 178 pisteNaytto.X = x; 179 pisteNaytto.Y = y; 180 pisteNaytto.TextColor = Color.Black; 181 pisteNaytto.Color = Color.White; 182 pisteNaytto.Title = "Pisteet"; 183 pisteNaytto.BindTo(pisteLaskuri); 184 185 pisteLaskuri.UpperLimit += Pelaajavoittaa; 186 Add(pisteNaytto); 187 return pisteLaskuri; 188 } 189 190 191 192 193 194 void LisaaNaytot() 195 { 196 Label pelaaja1text = new Label("Pelaaja 1"); 197 Label pelaaja2text = new Label("Pelaaja 2"); 198 pelaaja1text.X = Level.Left + 10; 199 pelaaja1text.Y = Level.Top; 200 pelaaja2text.X = Level.Right - 10; 201 pelaaja2text.Y = Level.Top; 202 pelaaja1text.TextColor = Color.White; 203 pelaaja2text.TextColor = Color.White; 204 Add(pelaaja1text); 205 Add(pelaaja2text); 206 } 207 132 208 //Aliohjelma plasmapallon osumiseen 133 209 void PlasmaPalloOsuu(PhysicsObject ammus, PhysicsObject kohde) 134 210 { 135 211 ammus.Destroy(); 136 Explosion rajahdys = new Explosion( 10);212 Explosion rajahdys = new Explosion(20); 137 213 rajahdys.Position = ammus.Position; 138 214 rajahdys.Force = 10; … … 141 217 if (kohde == Pelaaja1) 142 218 { 143 elkkuMittariP1.Value --;//Tässä Pieni ongelma219 elkkuMittariP1.Value --; 144 220 } 145 221 else if (kohde == Pelaaja2) 222 { 223 elkkuMittariP2.Value--; 224 } 146 225 } 147 226 … … 162 241 } 163 242 243 void elkutLoppu() 244 { 245 if (elkkuMittariP1.Value == 0) 246 { 247 elkkuMittariP1.Value = 100; 248 Remove(Pelaaja1); 249 Explosion rajahdys = new Explosion(100); 250 rajahdys.Position = Pelaaja1.Position; 251 rajahdys.Force = 100; 252 Add(rajahdys); 253 pistelaskuriP2.Value++; 254 if (pistelaskuriP2.Value == 5) { return; } 255 MessageDisplay.Add("Pelaaja1 tuhottu."); 256 Timer.SingleShot(2.0, respaaP1); 257 258 } 259 else if (elkkuMittariP2.Value == 0) 260 { 261 elkkuMittariP2.Value = 100; 262 Remove(Pelaaja2); 263 Explosion rajahdys = new Explosion(100); 264 rajahdys.Position = Pelaaja2.Position; 265 rajahdys.Force = 100; 266 Add(rajahdys); 267 pistelaskuriP1.Value++; 268 if (pistelaskuriP1.Value == 5) { return; } 269 MessageDisplay.Add("Pelaaja2 tuhottu."); 270 Timer.SingleShot(2.0, respaaP2); 271 272 } 273 } 274 275 void respaaP1() 276 { 277 Pelaaja1.X = Level.Left + 50; 278 Pelaaja1.Y = 0; 279 Pelaaja1.Angle = Angle.Zero; 280 Add(Pelaaja1); 281 } 282 void respaaP2() 283 { 284 Pelaaja2.X = Level.Right - 50; 285 Pelaaja2.Y = 0; 286 Pelaaja2.Angle = Angle.Zero; 287 Add(Pelaaja2); 288 } 289 290 void Pelaajavoittaa() 291 { 292 ClearAll(); 293 string voittaja = ""; 294 if (pistelaskuriP1.Value == 5) 295 { voittaja = "Pelaaja 1 "; } 296 297 else if (pistelaskuriP2.Value == 5) 298 { voittaja = "Pelaaja 2"; } 299 Level.Background.Image = taustaKuva; 300 Level.Background.FitToLevel(); 301 302 Label tekstikentta = new Label(voittaja + " " + "voitti pelin!!!"); 303 tekstikentta.TextColor = Color.HotPink; 304 tekstikentta.TextScale = new Vector(5.0, 5.0); 305 Add(tekstikentta); 306 307 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 308 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 309 310 } 164 311 } -
2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattleContent/TheLastBattleContent.contentproj
r3284 r3324 75 75 </Compile> 76 76 </ItemGroup> 77 <ItemGroup> 78 <Compile Include="asteroidi.png"> 79 <Name>asteroidi</Name> 80 <Importer>TextureImporter</Importer> 81 <Processor>TextureProcessor</Processor> 82 </Compile> 83 </ItemGroup> 77 84 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 78 85 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.