- Timestamp:
- 2014-06-26 14:58:24 (8 years ago)
- Location:
- 2014/26/JimiR
- Files:
-
- 12 added
- 1 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/RunAway.cs
r5116 r5126 13 13 Image pelaajanKuva = LoadImage("ukkeli"); 14 14 Image pelaajan2Kuva = LoadImage("energydrink"); 15 Image vihun2Kuva = LoadImage("Boss"); 15 16 16 17 Hahmo pelaaja; 17 PhysicsObject vihu; 18 PhysicsObject yksinpeliVihu; 19 20 Hahmo coopVihu; 18 21 19 22 Hahmo pelaaja2; … … 24 27 25 28 bool moninpeli = false; 29 bool coop = false; 26 30 27 31 bool vihuAmmuttu = false; … … 40 44 void LuoAlkuValikko() 41 45 { 42 MultiSelectWindow alkuValikko = new MultiSelectWindow("RunAway", "Start", "MultiPlayer", "Quit"); 46 moninpeli = false; 47 coop = false; 48 49 MultiSelectWindow alkuValikko = new MultiSelectWindow("RunAway", "Start", "MultiPlayer", "COOP", "Quit"); 43 50 Add(alkuValikko); 44 51 45 52 alkuValikko.AddItemHandler(0, AloitaPeli); 46 alkuValikko.AddItemHandler(1, AloitaMoninPeli); 47 alkuValikko.AddItemHandler(2, Exit); 53 alkuValikko.AddItemHandler(1, delegate { AloitaMoninPeli("Areena");}); 54 alkuValikko.AddItemHandler(2, COOP); 55 alkuValikko.AddItemHandler(3, Exit); 48 56 } 49 57 … … 70 78 ruudut.SetTileMethod('P', LuoPelaaja); 71 79 ruudut.SetTileMethod('Y', LuoPelaaja2); 72 ruudut.SetTileMethod('S', Luo Vihu);80 ruudut.SetTileMethod('S', LuoYksinpeliVihu); 73 81 ruudut.SetTileMethod('A', LuoKerattavaAse); 74 82 ruudut.SetTileMethod('O', LuoOvi); 75 83 ruudut.SetTileMethod('R', LuoPallo); 84 ruudut.SetTileMethod('V', LuoCOOPVihu); 76 85 ruudut.Execute(40,40); 77 86 … … 84 93 void LisaaOhjaimet() 85 94 { 86 Keyboard.Listen(Key.A, ButtonState.Down, 87 LiikutaPelaajaa, null, pelaaja, new Vector(-1000, 0)); 88 Keyboard.Listen(Key.A, ButtonState.Up, 89 LiikutaPelaajaa, null, pelaaja, Vector.Zero); 90 Keyboard.Listen(Key.D, ButtonState.Down, 91 LiikutaPelaajaa, null, pelaaja, new Vector(1000, 0)); 92 Keyboard.Listen(Key.D, ButtonState.Up, 93 LiikutaPelaajaa, null, pelaaja, Vector.Zero); 94 Keyboard.Listen(Key.W, ButtonState.Down, 95 LiikutaPelaajaa, null, pelaaja, new Vector(0, 1000)); 96 Keyboard.Listen(Key.W, ButtonState.Up, 97 LiikutaPelaajaa, null, pelaaja, Vector.Zero); 98 Keyboard.Listen(Key.S, ButtonState.Down, 99 LiikutaPelaajaa, null, pelaaja, new Vector(0, -1000)); 100 Keyboard.Listen(Key.S, ButtonState.Up, 101 LiikutaPelaajaa, null, pelaaja, Vector.Zero); 102 103 Keyboard.Listen(Key.I, ButtonState.Pressed, TokkaaVihua, null); 95 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(-500, 0)); 96 Keyboard.Listen(Key.A, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 97 98 Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(500, 0)); 99 Keyboard.Listen(Key.D, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 100 101 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(0, 500)); 102 Keyboard.Listen(Key.W, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 103 104 Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(0, -500)); 105 Keyboard.Listen(Key.S, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 104 106 105 107 106 108 Keyboard.Listen(Key.O, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 107 Keyboard.Listen(Key.U, ButtonState.Pressed, AloitaMoninPeli, "Aloittaa moninpelin alusta");109 Keyboard.Listen(Key.U, ButtonState.Pressed, delegate { AloitaMoninPeli("Areena"); }, "Aloittaa moninpelin alusta"); 108 110 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja); 109 111 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); … … 112 114 } 113 115 114 void TokkaaVihua()115 {116 vihu.Hit(new Vector(200, 200));117 }118 119 116 120 117 void LiikutaPelaajaa(Hahmo pelaaja, Vector vektori) 121 118 { 119 if (vektori == Vector.Zero) pelaaja.Velocity = Vector.Zero; 122 120 pelaaja.Push(vektori); 123 121 124 122 if (pelaaja.Ase != null) 125 123 { 124 if (pelaaja.Velocity == Vector.Zero) return; 126 125 Vector suunta = (pelaaja.Velocity.Normalize()); 127 126 pelaaja.Ase.Angle = suunta.Angle; … … 135 134 pelaaja.Image = pelaajanKuva; 136 135 pelaaja.Position = paikka; 137 pelaaja.Restitution = 0 ;138 pelaaja.Tag = "pelaaja"; 136 pelaaja.Restitution = 0.1; 137 pelaaja.Tag = "pelaaja"; 139 138 pelaaja.CanRotate = false; 140 139 Add(pelaaja); 141 140 AddCollisionHandler(pelaaja, "vihu", PelaajaTormasi); 142 141 AddCollisionHandler<Hahmo, PhysicsObject>(pelaaja, "Ase", PelaajaSaaAseen); 143 AddCollisionHandler(pelaaja, "ovi", SeuraavaKentta);142 AddCollisionHandler(pelaaja, "ovi", TormaaOveen); 144 143 pelaaja.MaximiElama = 5; 145 144 pelaaja.Elama = 5; … … 156 155 pelaaja2.Image = pelaajan2Kuva; 157 156 pelaaja2.Position = paikka; 158 pelaaja2.Restitution = 0 ;157 pelaaja2.Restitution = 0.1; 159 158 pelaaja2.Tag = "pelaaja2"; 160 159 pelaaja2.CanRotate = false; … … 183 182 } 184 183 185 void Luo Vihu(Vector paikka, double leveys, double korkeus)186 { 187 vihu = new PhysicsObject(50, 100);188 vihu.Position = paikka;189 vihu.Image = vihollisenKuva;190 vihu.Tag = "vihu";191 Add( vihu);184 void LuoYksinpeliVihu(Vector paikka, double leveys, double korkeus) 185 { 186 yksinpeliVihu = new PhysicsObject(50, 100); 187 yksinpeliVihu.Position = paikka; 188 yksinpeliVihu.Image = vihollisenKuva; 189 yksinpeliVihu.Tag = "vihu"; 190 Add(yksinpeliVihu); 192 191 193 192 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); … … 196 195 seuraajanAivot.StopWhenTargetClose = false; 197 196 198 vihu.Brain = seuraajanAivot;199 vihu.Brain.Active = true;200 201 vihu.IgnoresPhysicsLogics = true;197 yksinpeliVihu.Brain = seuraajanAivot; 198 yksinpeliVihu.Brain.Active = true; 199 200 yksinpeliVihu.IgnoresPhysicsLogics = true; 202 201 203 202 … … 253 252 pelaaja.Ase.Ammo.Value = panoksetmoninpelissa; 254 253 } 255 else 256 { 257 pelaaja.Ase.Ammo.Value = panoksetyksinpelissa; 254 else if (coop) 255 { 256 pelaaja.Ase.Ammo.Value = panoksetmoninpelissa; 257 } 258 else 259 { 260 pelaaja.Ase.Ammo.Value = panoksetyksinpelissa; 258 261 } 259 262 pelaaja.Ase.ProjectileCollision = AmmusOsui; … … 289 292 } 290 293 291 if (kohde.Tag.Equals("pelaaja")||kohde.Tag.Equals("pelaaja2") )294 if (kohde.Tag.Equals("pelaaja")||kohde.Tag.Equals("pelaaja2")||kohde.Tag.Equals("coopVihu")) 292 295 { 293 296 ((Hahmo)kohde).Elama -= 1; 294 } 295 } 296 297 void SeuraavaKentta(PhysicsObject pelaaja, PhysicsObject kohde) 297 if (((Hahmo)kohde).Elama <= 0) 298 { 299 kohde.Destroy(); 300 301 if (moninpeli) 302 { 303 PeliLoppui(); 304 } 305 306 else if(coop) 307 { 308 if (pelaaja.IsDestroyed && pelaaja2.IsDestroyed) PeliLoppui(); 309 else if(kohde.Tag.Equals("coopVihu")) PeliLoppuiVoittoon(); 310 } 311 312 } 313 } 314 } 315 316 void TormaaOveen(PhysicsObject pelaaja, PhysicsObject kohde) 298 317 { 299 318 if (kohde.Tag.Equals("ovi")) … … 317 336 } 318 337 319 void AloitaMoninPeli() 338 339 void PeliLoppuiVoittoon() 340 { 341 MessageDisplay.Add("Players Win!"); 342 } 343 344 void AloitaMoninPeli(String kentanNimi) 320 345 { 321 346 ClearAll(); … … 323 348 SmoothTextures = false; 324 349 325 LuoKentta( "Areena");350 LuoKentta(kentanNimi); 326 351 327 352 LisaaOhjaimet(); … … 337 362 void LisaaOhjaimetPelaajalle2() 338 363 { 339 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(- 1000, 0));340 Keyboard.Listen(Key.Left, ButtonState. Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero);341 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector( 1000, 0));342 Keyboard.Listen(Key.Right, ButtonState. Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero);343 344 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, 1000));345 Keyboard.Listen(Key.Up, ButtonState. Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero);346 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, - 1000));347 Keyboard.Listen(Key.Down, ButtonState. Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero);364 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(-500, 0)); 365 Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 366 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(500, 0)); 367 Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 368 369 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, 500)); 370 Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 371 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, -500)); 372 Keyboard.Listen(Key.Down, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 348 373 Keyboard.Listen(Key.RightControl , ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 349 350 } 351 352 374 Keyboard.Listen(Key.N, ButtonState.Pressed, SeuraavaKentta, "vaihtaakenttaa"); 375 376 } 377 378 void SeuraavaKentta() 379 { 380 AloitaMoninPeli("Areena2"); 381 382 } 353 383 354 384 void LuoPistelaskuri(Hahmo pelaaja,double x, double y) … … 366 396 367 397 } 398 399 void COOP() 400 { 401 coop = true; 402 LuoKentta("COOPmap"); 403 LisaaOhjaimet(); 404 LisaaOhjaimetPelaajalle2(); 405 406 Camera.Follow(pelaaja, pelaaja2, coopVihu); 407 408 409 } 410 411 void LuoCOOPVihu(Vector paikka, double leveys, double korkeus) 412 { 413 coopVihu = new Hahmo(60, 60); 414 coopVihu.Image = vihun2Kuva; 415 coopVihu.MaximiElama = 100; 416 coopVihu.Elama = 100; 417 coopVihu.Tag = "coopVihu"; 418 coopVihu.CanRotate = false; 419 Add(coopVihu); 420 421 FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja, pelaaja2); 422 seuraajanAivot.Speed = 300; 423 seuraajanAivot.DistanceClose = 200; 424 seuraajanAivot.StopWhenTargetClose = true; 425 coopVihu.Brain = seuraajanAivot; 426 427 coopVihu.Ase = new Cannon(20, 10); 428 coopVihu.Ase.Ammo.Value = int.MaxValue; 429 coopVihu.Ase.ProjectileCollision = AmmusOsui; 430 coopVihu.Add(coopVihu.Ase); 431 432 433 Timer ampumisAjastin = new Timer(); 434 ampumisAjastin.Interval = 0.5; 435 ampumisAjastin.Timeout += CoopVihuAmmu; 436 ampumisAjastin.Start(); 437 } 438 439 440 void CoopVihuAmmu() 441 { 442 if (coopVihu.IsDestroyed) return; 443 if (coopVihu.Ase != null) 444 { 445 if (coopVihu.Velocity == Vector.Zero) return; 446 Vector suunta = (coopVihu.Velocity.Normalize()); 447 coopVihu.Ase.Angle = suunta.Angle; 448 } 449 450 PhysicsObject ammus = coopVihu.Ase.Shoot(); 451 452 if (ammus != null) 453 { 454 ammus.Size *= 0.9; 455 //ammus.Image = ... 456 //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 457 } 458 } 368 459 369 460 } -
2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/RunAway.csproj.Debug.cachefile
r5113 r5126 10 10 Content\Map3.xnb 11 11 Content\Areena.xnb 12 Content\areena2.xnb 13 Content\COOPmap.xnb 14 Content\Boss.xnb 15 Content\map4.xnb 12 16 Content\download.jpg 13 17 Content\lattia.jpg -
2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/ContentPipeline-{EC75DD54-C661-46C6-A447-6B6188808C6C}.xml
r5116 r5126 101 101 <Time>2014-06-26T10:39:36.2831454+03:00</Time> 102 102 </Item> 103 <Item> 104 <Source>areena2.txt</Source> 105 <Name>areena2</Name> 106 <Importer>TextFileImporter</Importer> 107 <Processor>TextFileContentProcessor</Processor> 108 <Options>None</Options> 109 <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\areena2.xnb</Output> 110 <Time>2014-06-26T12:34:43.0640612+03:00</Time> 111 </Item> 112 <Item> 113 <Source>COOPmap.txt</Source> 114 <Name>COOPmap</Name> 115 <Importer>TextFileImporter</Importer> 116 <Processor>TextFileContentProcessor</Processor> 117 <Options>None</Options> 118 <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\COOPmap.xnb</Output> 119 <Time>2014-06-26T13:01:07.6835073+03:00</Time> 120 </Item> 121 <Item> 122 <Source>Boss.png</Source> 123 <Name>Boss</Name> 124 <Importer>TextureImporter</Importer> 125 <Processor>TextureProcessor</Processor> 126 <Options>None</Options> 127 <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Boss.xnb</Output> 128 <Time>2014-06-26T13:11:58.2345559+03:00</Time> 129 </Item> 130 <Item> 131 <Source>map4.txt</Source> 132 <Name>map4</Name> 133 <Importer>TextFileImporter</Importer> 134 <Processor>TextFileContentProcessor</Processor> 135 <Options>None</Options> 136 <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\map4.xnb</Output> 137 <Time>2014-06-26T14:52:59.335223+03:00</Time> 138 </Item> 103 139 <BuildSuccessful>true</BuildSuccessful> 104 140 <Settings> -
2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/RunAway.csproj.FileListAbsolute.txt
r5113 r5126 20 20 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Map3.xnb 21 21 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Areena.xnb 22 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\areena2.xnb 23 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\COOPmap.xnb 24 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Boss.xnb 25 C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\map4.xnb -
2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/cachefile-{EC75DD54-C661-46C6-A447-6B6188808C6C}-targetpath.txt
r5113 r5126 10 10 Content\Map3.xnb 11 11 Content\Areena.xnb 12 Content\areena2.xnb 13 Content\COOPmap.xnb 14 Content\Boss.xnb 15 Content\map4.xnb 12 16 Content\download.jpg 13 17 Content\lattia.jpg -
2014/26/JimiR/RunAway/RunAway/RunAway/RunAwayContent/RunAwayContent.contentproj
r5113 r5126 124 124 </Compile> 125 125 </ItemGroup> 126 <ItemGroup> 127 <Compile Include="areena2.txt"> 128 <Name>areena2</Name> 129 <Importer>TextFileImporter</Importer> 130 <Processor>TextFileContentProcessor</Processor> 131 </Compile> 132 </ItemGroup> 133 <ItemGroup> 134 <Compile Include="COOPmap.txt"> 135 <Name>COOPmap</Name> 136 <Importer>TextFileImporter</Importer> 137 <Processor>TextFileContentProcessor</Processor> 138 </Compile> 139 </ItemGroup> 140 <ItemGroup> 141 <Compile Include="Boss.png"> 142 <Name>Boss</Name> 143 <Importer>TextureImporter</Importer> 144 <Processor>TextureProcessor</Processor> 145 </Compile> 146 </ItemGroup> 147 <ItemGroup> 148 <Compile Include="map4.txt"> 149 <Name>map4</Name> 150 <Importer>TextFileImporter</Importer> 151 <Processor>TextFileContentProcessor</Processor> 152 </Compile> 153 </ItemGroup> 126 154 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 127 155 <!-- 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.