- Timestamp:
- 2013-06-12 15:02:45 (10 years ago)
- Location:
- 2013/24/EeroF
- Files:
-
- 22 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/24/EeroF/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs
r4082 r4101 10 10 11 11 public class FysiikkaPeli1 : PhysicsGame 12 { 12 { 13 13 IntMeter pisteLaskuri; 14 DoubleMeter pelaajienmaara; 14 15 PhysicsObject Mikko; 16 PhysicsObject Mikkokaveri; 15 17 Image mikkokuva = LoadImage("Mikko3"); 16 18 Image taustaKuva = LoadImage("ruoho4"); 17 19 Image omenakuva = LoadImage("omena"); 18 20 Image hamiskuva = LoadImage("Hamis"); 21 Image SaMiKu = LoadImage("Sahkomies"); 22 Image mikkokaveri = LoadImage("MikkoKaveri2"); 23 SoundEffect Ai = LoadSoundEffect("Ai"); 24 SoundEffect Nam = LoadSoundEffect("Nam"); 25 SoundEffect HamisLahella = LoadSoundEffect("HamisLahella"); 26 SoundEffect Kling = LoadSoundEffect("Kling"); 27 SoundEffect HamisKuoli = LoadSoundEffect("HamisKuoli"); 28 SoundEffect Havio = LoadSoundEffect("Haviov2"); 29 Image Tahti = LoadImage("Tahti"); 19 30 DoubleMeter elamaLaskuri; 31 DoubleMeter elamalaskuri2; 20 32 AssaultRifle pelaajan1Ase; 21 public override void Begin() 22 { 23 24 33 AssaultRifle pelaajan2Ase; 34 EasyHighScore topLista = new EasyHighScore(); 35 public override void Begin() 36 { 37 38 25 39 LuoPelaaja(); 26 40 LuoKentta(); … … 28 42 LuoPistelaskuri(); 29 43 LuoElamaLaskuri(); 30 Level.Background.Image = taustaKuva;31 Level.Background.TileToLevel();32 Camera.Follow(Mikko );44 Level.Background.Image = taustaKuva; 45 Level.Background.TileToLevel(); 46 Camera.Follow(Mikko, Mikkokaveri); 33 47 AddCollisionHandler(Mikko, "Omena", CollisionHandler.DestroyTarget); 34 48 AddCollisionHandler(Mikko, "Parannus", CollisionHandler.DestroyTarget); 35 49 AddCollisionHandler(Mikko, "Parannus", Lisaa5Pistetta); 36 50 AddCollisionHandler(Mikko, "Parannus", ParannaAsetta); 37 AddCollisionHandler(Mikko, "Omena", LisaaPiste ita);51 AddCollisionHandler(Mikko, "Omena", LisaaPiste); 38 52 AddCollisionHandler(Mikko, "Omena", LisaaElamaa); 39 53 AddCollisionHandler(Mikko, "Hamis", VahennaElamaa); … … 41 55 } 42 56 43 void LisaaPiste ita(PhysicsObject tormaaja, PhysicsObject kohde)57 void LisaaPiste(PhysicsObject tormaaja, PhysicsObject kohde) 44 58 { 45 59 pisteLaskuri.Value++; 60 Nam.Play(); 46 61 } 47 62 48 63 void Lisaa5Pistetta(PhysicsObject tormaaja, PhysicsObject kohde) 49 64 { 50 pisteLaskuri.Value++; 51 pisteLaskuri.Value++; 52 pisteLaskuri.Value++; 53 pisteLaskuri.Value++; 54 pisteLaskuri.Value++; 55 } 56 void LuoPistelaskuri() 57 { 58 pisteLaskuri = new IntMeter(0); 59 60 Label pisteNaytto = new Label(); 61 pisteNaytto.X = Screen.Left + 100; 62 pisteNaytto.Y = Screen.Top - 100; 63 pisteNaytto.TextColor = Color.Black; 64 pisteNaytto.Color = Color.White; 65 pisteNaytto.Title = "XP"; 66 67 pisteNaytto.BindTo(pisteLaskuri); 68 Add(pisteNaytto); 69 } 70 65 pisteLaskuri.Value += 5; 66 Kling.Play(); 67 } 68 69 void LuoPistelaskuri() 70 { 71 pisteLaskuri = new IntMeter(0); 72 73 Label pisteNaytto = new Label(); 74 pisteNaytto.X = Screen.Left + 100; 75 pisteNaytto.Y = Screen.Top - 100; 76 pisteNaytto.TextColor = Color.Black; 77 pisteNaytto.Color = Color.White; 78 pisteNaytto.Title = "Pisteet"; 79 80 pisteNaytto.BindTo(pisteLaskuri); 81 Add(pisteNaytto); 82 } 83 84 void Vihukuoli() 85 { 86 pisteLaskuri.Value += 5; 87 HamisKuoli.Play(); 88 } 89 71 90 72 91 void AsetaOhjaimet() 73 { PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 74 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit,"Lopeta peli" ); 75 Keyboard.Listen(Key.Up, ButtonState.Down, PelaajaKavelee,"Pelaaja liikkuu", Mikko); 92 { 93 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 94 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 95 Keyboard.Listen(Key.Up, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu", Mikko, 250.0); 96 Keyboard.Listen(Key.Down, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu taakse", Mikko, -250.0); 76 97 Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaaja, null, Mikko); 98 Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaPelaaja, null, Mikko); 77 99 Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelaaja, null, Mikko); 78 100 Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelaaja, null, Mikko); 101 Keyboard.Listen(Key.D, ButtonState.Released, PysaytaPelaaja, null, Mikko); 102 Keyboard.Listen(Key.A, ButtonState.Released, PysaytaPelaaja, null, Mikko); 79 103 Keyboard.Listen(Key.Right, ButtonState.Down, KaantyyOikealle, "Pelaaja kääntyy", Mikko); 80 104 Keyboard.Listen(Key.Left, ButtonState.Down, KaantyyVasemmalle, "Pelaaja kääntyy", Mikko); 81 Keyboard.Listen(Key.Space, ButtonState.Down, Ampuu, "Ampuu", Mikko); 82 } 83 void PelaajaKavelee(PhysicsObject Mikko) 84 { 85 86 Vector pelaajanSuunta = Vector.FromLengthAndAngle(250.0, Mikko.Angle); 105 Keyboard.Listen(Key.A, ButtonState.Down, KaantyyVasemmalle2, "Pelaaja kääntyy vähän", Mikko); 106 Keyboard.Listen(Key.D, ButtonState.Down, KaantyyOikealle2, "Pelaaja kääntyy vähän", Mikko); 107 Keyboard.Listen(Key.Space, ButtonState.Down, Ampuu, "Ampuu", pelaajan1Ase); 108 Keyboard.Listen(Key.H, ButtonState.Pressed, ShowControlHelp, "Apu"); 109 110 ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, Ampuu, "Ampuu", pelaajan2Ase); 111 ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, KuunteleeOikeaaTattia, "Kääntää pelaajaa", Mikkokaveri); 112 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, 250.0); 113 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, -250.0); 114 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 115 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 116 } 117 118 void KuunteleeOikeaaTattia(AnalogState tila, PhysicsObject pelaaja) 119 { 120 pelaaja.Angle = tila.StateVector.Angle; 121 pelaaja.AngularVelocity = 0; 122 } 123 124 void PelaajaKavelee(PhysicsObject Mikko, double nopeus) 125 { 126 127 Vector pelaajanSuunta = Vector.FromLengthAndAngle(nopeus, Mikko.Angle); 87 128 Mikko.Velocity = pelaajanSuunta; 88 129 … … 97 138 void KaantyyOikealle(PhysicsObject Mikko) 98 139 { 99 Mikko.AngularVelocity = 7.5;140 Mikko.AngularVelocity = -5.0; 100 141 } 101 142 void KaantyyVasemmalle(PhysicsObject Mikko) 102 143 { 103 Mikko.AngularVelocity = -7.5;104 } 105 void Ampuu( PhysicsObject Mikko)106 { 107 PhysicsObject ammus = pelaajan1Ase.Shoot();144 Mikko.AngularVelocity = 5.0; 145 } 146 void Ampuu(AssaultRifle ase) 147 { 148 PhysicsObject ammus = ase.Shoot(); 108 149 109 150 if (ammus != null) … … 113 154 } 114 155 } 156 void KaantyyOikealle2(PhysicsObject Mikko) 157 { 158 Mikko.AngularVelocity = -1.0; 159 } 160 void KaantyyVasemmalle2(PhysicsObject Mikko) 161 { 162 Mikko.AngularVelocity = 1.0; 163 } 164 165 115 166 116 167 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 117 168 { 118 169 ammus.Destroy(); 119 170 120 171 if (kohde is Vihu) 121 172 { … … 124 175 } 125 176 } 126 177 void Hamislahella() 178 { 179 if (HamisLahella.IsPlaying == false) 180 { HamisLahella.Play(); } 181 } 127 182 128 183 void LuoKentta() … … 137 192 } 138 193 194 139 195 for (int i = 0; i < 10; i++) 140 196 { 141 197 198 int luku = RandomGen.NextInt(-5000, 5000); 199 int luku2 = RandomGen.NextInt(-5000, 5000); 200 int luku3 = RandomGen.NextInt(3, 15); 201 202 for (int j = 0; j < luku3; j++) 203 LuoSaMi(luku, luku2); 204 } 205 206 207 for (int i = 0; i < 10; i++) 208 { 209 142 210 LuoHamis(); 143 211 144 212 145 213 } 146 for (int i = 0; i < 5; i++)214 for (int i = 0; i < 10; i++) 147 215 { 148 216 LuoParannus(); 149 217 } 150 151 152 153 } 218 Level.CreateBorders(); 219 Timer ajastin = new Timer(); 220 ajastin.Interval = 15; 221 ajastin.Timeout += LisaaVihuja; 222 ajastin.Start(); 223 224 225 } 226 void LisaaVihuja() 227 { 228 for (int i = 0; i < 1; i++) 229 { 230 LuoHamis(); 231 } 232 } 233 234 235 154 236 void LuoOmena() 155 237 { 156 238 157 239 int luku = RandomGen.NextInt(-5000, 5000); 158 int luku2 = RandomGen.NextInt( -5000, 5000 ); 159 PhysicsObject Omena = new PhysicsObject (15, 15); 160 Omena.Image = omenakuva; 161 Omena.Tag = "Omena"; 162 Omena.Shape = Shape.Circle; 163 Omena.Color = Color.Red; 164 Omena.X = luku; 165 Omena.Y = luku2; 166 Omena.Mass = 100000000000; 167 Add(Omena); 168 169 170 171 } 240 int luku2 = RandomGen.NextInt(-5000, 5000); 241 PhysicsObject Omena = new PhysicsObject(15, 15); 242 Omena.Image = omenakuva; 243 Omena.Tag = "Omena"; 244 Omena.Shape = Shape.Circle; 245 Omena.Color = Color.Red; 246 Omena.X = luku; 247 Omena.Y = luku2; 248 Omena.Mass = 100000000000; 249 Add(Omena); 250 251 252 253 } 254 255 256 void LuoSaMi(double x, double y) 257 { 258 259 260 int luku = RandomGen.NextInt(-500, 500); 261 int luku2 = RandomGen.NextInt(-500, 500); 262 PhysicsObject SaMi = new PhysicsObject(120, 100); 263 SaMi.Image = SaMiKu; 264 265 266 SaMi.X = x + luku; 267 SaMi.Y = y + luku2; 268 SaMi.Mass = 100000000000000000; 269 Add(SaMi); 270 271 } 272 172 273 void LuoElamaLaskuri() 173 274 { 174 275 elamaLaskuri = new DoubleMeter(10); 175 elamaLaskuri.MaxValue = 100;276 elamaLaskuri.MaxValue = 20; 176 277 elamaLaskuri.LowerLimit += ElamaLoppui; 177 278 279 LuoElamaPalkki(Screen.Left + 150, Screen.Top - 20, elamaLaskuri); 280 281 elamalaskuri2 = new DoubleMeter(10); 282 elamalaskuri2.MaxValue = 20; 283 elamalaskuri2.LowerLimit += delegate { ElamaLoppui(Mikkokaveri); }; 284 285 LuoElamaPalkki(Screen.Right - 150, Screen.Top - 20, elamaLaskuri); 286 } 287 288 void LuoElamaPalkki(double x, double y, DoubleMeter seurattava) 289 { 178 290 ProgressBar elamaPalkki = new ProgressBar(150, 20); 179 elamaPalkki.X = Screen.Left + 150;180 elamaPalkki.Y = Screen.Top - 20;181 elamaPalkki.BindTo( elamaLaskuri);291 elamaPalkki.X = x; 292 elamaPalkki.Y = y; 293 elamaPalkki.BindTo(seurattava); 182 294 elamaPalkki.Color = Color.Transparent; 183 295 elamaPalkki.BarColor = Color.Red; … … 185 297 Add(elamaPalkki); 186 298 } 187 void LuoElamaLaskurivihkulle( Vihu vihu ) 299 300 void LuoElamaLaskurivihkulle(Vihu vihu) 188 301 { 189 302 ProgressBar elamaPalkki = new ProgressBar(150, 20); … … 195 308 vihu.Add(elamaPalkki); 196 309 } 197 void ElamaLoppui() 198 { 199 MessageDisplay.Add("Elämät loppuivat, voi voi."); 310 311 void ElamaLoppui(PhysicsObject kuollut) 312 { 313 314 } 315 316 void TUHO() 317 { 318 Havio.Play(); 200 319 Mikko.Destroy(); 320 topLista.EnterAndShow(pisteLaskuri.Value); 321 // topLista.HighScoreWindow.Closed += AloitaPeli; 201 322 } 202 323 void LisaaElamaa(PhysicsObject tormaaja, PhysicsObject kohde) … … 207 328 { 208 329 elamaLaskuri.Value--; 330 331 Ai.Play(); 209 332 } 210 333 void LuoHamis() … … 213 336 Hamis.Color = Color.Black; 214 337 Hamis.Tag = "Hamis"; 215 216 FollowerBrain aivot = new FollowerBrain(Mikko); 338 Hamis.ElamaLaskuri.LowerLimit += Vihukuoli; 339 340 FollowerBrain aivot = new FollowerBrain("pelaaja"); 217 341 Hamis.Brain = aivot; 218 342 aivot.Speed = 100; 219 343 aivot.Active = true; 220 221 Hamis.Image=hamiskuva; 222 Hamis.Mass = 0.0000001; 223 344 aivot.TargetClose += Hamislahella; 345 aivot.DistanceClose = 1000; 346 347 Hamis.Image = hamiskuva; 348 Hamis.Mass = 0.00000000000000000001; 349 224 350 int luku = RandomGen.NextInt(-5000, 5000); 225 351 int luku2 = RandomGen.NextInt(-5000, 5000); 226 352 Hamis.X = luku; 227 353 Hamis.Y = luku2; 228 Add 354 Add(Hamis); 229 355 230 356 LuoElamaLaskurivihkulle(Hamis); … … 234 360 int luku = RandomGen.NextInt(-5000, 5000); 235 361 int luku2 = RandomGen.NextInt(-5000, 5000); 236 PhysicsObject Parannus = new PhysicsObject( 15, 15);237 // Parannus.Image =;362 PhysicsObject Parannus = new PhysicsObject(20, 20); 363 Parannus.Image = Tahti; 238 364 Parannus.Tag = "Parannus"; 239 Parannus.Shape = Shape.Star;240 Parannus.Color = Color.Yellow;365 //Parannus.Shape = Shape.Star; 366 //Parannus.Color = Color.Yellow; 241 367 Parannus.X = luku; 242 368 Parannus.Y = luku2; … … 248 374 Mikko = new PhysicsObject(70, 52.5); 249 375 Mikko.Image = mikkokuva; 376 377 Mikko.Tag = "pelaaja"; 250 378 Add(Mikko); 251 379 pelaajan1Ase = new AssaultRifle(30, 10); 252 // pelaajan1Ase.380 // pelaajan1Ase. 253 381 pelaajan1Ase.ProjectileCollision = AmmusOsui; 254 382 pelaajan1Ase.FireRate = 2; … … 258 386 pelaajan1Ase.Y = -10; 259 387 pelaajan1Ase.IsVisible = false; 260 } 388 LuoKaveri(); 389 } 390 void LuoKaveri() 391 { 392 Mikkokaveri = new PhysicsObject(70, 52.5); 393 Mikkokaveri.Image = mikkokaveri; 394 Mikkokaveri.X = -60; 395 Mikkokaveri.Tag = "pelaaja"; 396 397 pelaajan2Ase = new AssaultRifle(30, 10); 398 pelaajan2Ase.ProjectileCollision = AmmusOsui; 399 pelaajan2Ase.FireRate = 2; 400 401 402 403 pelaajan2Ase.Power.DefaultValue = 300; 404 Mikkokaveri.Add(pelaajan2Ase); 405 pelaajan2Ase.Y = -10; 406 pelaajan2Ase.IsVisible = false; 407 408 Add(Mikkokaveri); 409 } 410 411 412 261 413 void ParannaAsetta(PhysicsObject tormaaja, PhysicsObject kohde) 262 414 { 263 pelaajan1Ase.FireRate += 1; 415 int luku = RandomGen.NextInt(1, 3); 416 pelaajan1Ase.FireRate += luku; 264 417 pelaajan1Ase.Power.Value += 10; 265 418 pelaajan1Ase.Power.DefaultValue += 10; 419 266 420 } 267 421 … … 275 429 276 430 } 431 277 432 class Vihu : PhysicsObject 278 433 { … … 284 439 { 285 440 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 286 441 287 442 } 288 443 } -
2013/24/EeroF/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1Content/FysiikkaPeli1Content.contentproj
r4082 r4101 73 73 </Compile> 74 74 </ItemGroup> 75 <ItemGroup> 76 <Compile Include="Ai.wav"> 77 <Name>Ai</Name> 78 <Importer>WavImporter</Importer> 79 <Processor>SoundEffectProcessor</Processor> 80 </Compile> 81 </ItemGroup> 82 <ItemGroup> 83 <Compile Include="Havio.wav"> 84 <Name>Havio</Name> 85 <Importer>WavImporter</Importer> 86 <Processor>SoundEffectProcessor</Processor> 87 </Compile> 88 </ItemGroup> 89 <ItemGroup> 90 <Compile Include="HamisLahella.wav"> 91 <Name>HamisLahella</Name> 92 <Importer>WavImporter</Importer> 93 <Processor>SoundEffectProcessor</Processor> 94 </Compile> 95 </ItemGroup> 96 <ItemGroup> 97 <Compile Include="HamisKuoli.wav"> 98 <Name>HamisKuoli</Name> 99 <Importer>WavImporter</Importer> 100 <Processor>SoundEffectProcessor</Processor> 101 </Compile> 102 </ItemGroup> 103 <ItemGroup> 104 <Compile Include="Haviov2.wav"> 105 <Name>Haviov2</Name> 106 <Importer>WavImporter</Importer> 107 <Processor>SoundEffectProcessor</Processor> 108 </Compile> 109 </ItemGroup> 110 <ItemGroup> 111 <Compile Include="Nam.wav"> 112 <Name>Nam</Name> 113 <Importer>WavImporter</Importer> 114 <Processor>SoundEffectProcessor</Processor> 115 </Compile> 116 </ItemGroup> 117 <ItemGroup> 118 <Compile Include="Sahkomies.png"> 119 <Name>Sahkomies</Name> 120 <Importer>TextureImporter</Importer> 121 <Processor>TextureProcessor</Processor> 122 </Compile> 123 </ItemGroup> 124 <ItemGroup> 125 <Compile Include="Kling.wav"> 126 <Name>Kling</Name> 127 <Importer>WavImporter</Importer> 128 <Processor>SoundEffectProcessor</Processor> 129 </Compile> 130 </ItemGroup> 131 <ItemGroup> 132 <Compile Include="Tahti.png"> 133 <Name>Tahti</Name> 134 <Importer>TextureImporter</Importer> 135 <Processor>TextureProcessor</Processor> 136 </Compile> 137 </ItemGroup> 138 <ItemGroup> 139 <Compile Include="MikkoKaveri.png"> 140 <Name>MikkoKaveri</Name> 141 <Importer>TextureImporter</Importer> 142 <Processor>TextureProcessor</Processor> 143 </Compile> 144 </ItemGroup> 145 <ItemGroup> 146 <Compile Include="MikkoKaveri2.png"> 147 <Name>MikkoKaveri2</Name> 148 <Importer>TextureImporter</Importer> 149 <Processor>TextureProcessor</Processor> 150 </Compile> 151 </ItemGroup> 75 152 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 76 153 <!-- 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.