Changeset 5380 for 2014/27/JuhanaK
- Timestamp:
- 2014-07-03 14:59:12 (5 years ago)
- Location:
- 2014/27/JuhanaK
- Files:
-
- 12 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs
r5327 r5380 18 18 { 19 19 elamaLaskuri = new IntMeter(elama, 0, elama); 20 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 20 21 } 22 } 23 /// <summary> 24 /// Esinevalikko. 25 /// </summary> 26 class Inventory : Widget 27 { 28 /// <summary> 29 /// Tapahtuma, kun esine on valittu. 30 /// </summary> 31 public event Action<PhysicsObject> ItemSelected; 32 33 /// <summary> 34 /// Luo uuden esinevalikon. 35 /// </summary> 36 public Inventory() 37 : base(new HorizontalLayout()) 38 { 39 } 40 41 /// <summary> 42 /// Lisää esineen. 43 /// </summary> 44 /// <param name="item">Lisättävä esine.</param> 45 /// <param name="kuva">Esineen ikoni, joka näkyy valikossa.</param> 46 public void AddItem(PhysicsObject item, Image kuva) 47 { 48 PushButton icon = new PushButton(kuva); 49 Add(icon); 50 icon.Clicked += delegate() { SelectItem(item); }; 51 } 52 53 void SelectItem(PhysicsObject item) 54 { 55 if (ItemSelected != null) 56 { 57 ItemSelected(item); 58 } 21 59 } 22 60 } … … 32 70 const int RUUDUN_KOKO = 40; 33 71 72 private int kieorrokset = 10; 73 DoubleMeter aaltoPalkki; 74 ProgressBar aaltoNaytto; 75 DoubleMeter alaspainLaskuri; 76 Timer aaltoAikaLaskuri; 77 private const int MAX_KIERROSAIKA = 300; 78 79 List<Vihu> vihut = new List<Vihu>(); 80 34 81 private Image[] Avaruuskävely = LoadImages("Avaruus saankari", "Avaruus saankari2"); 35 82 private Image[] Monsterinkavelykuvat = LoadImages("Monsteri", "Monsteri2"); … … 38 85 PlatformCharacter pelaaja2; 39 86 PlatformCharacter pelaaja1; 87 40 88 Image AlienKuva = LoadImage("Alien"); 41 89 Image Orkkikuva = LoadImage("Orkki"); 42 90 Image monsteri = LoadImage("Monsteri"); 91 Image flamerkuva= LoadImage("Flamer"); 92 43 93 Image Robo = LoadImage("Robot"); 44 94 Image pelaajanKuva = LoadImage("Avaruus saankari"); … … 48 98 DoubleMeter elamaLaskuri2; 49 99 SoundEffect osumisaani = LoadSoundEffect("Hit_Hurt2"); 100 Inventory inventory; 50 101 51 102 public override void Begin() … … 75 126 Gravity = new Vector(0, -1000); 76 127 SmoothTextures = false; 128 77 129 78 130 if (pelaajienLkm == 1) … … 87 139 LisaaNappaimet(); 88 140 LuoElamaLaskuri(); 89 90 Timer ajastin = new Timer(); 91 ajastin.Interval = 4; 92 ajastin.Timeout += Luovihollinen; 93 ajastin.Start(); 94 95 Timer ajastin2 = new Timer(); 96 ajastin2.Interval = 6; 97 ajastin2.Timeout += LuoOrkki; 98 ajastin2.Start(); 99 100 Timer ajastin3 = new Timer(); 101 ajastin3.Interval = 10; 102 ajastin3.Timeout += LuoAlien; 103 ajastin3.Start(); 141 LuoPistelaskuri(); 142 LuoAaltoPalkki(); 143 AaltoLoppui(); 144 145 146 147 104 148 105 149 … … 157 201 pelaaja1.AnimWalk.FPS = 5; 158 202 203 inventory = new Inventory(); 204 Add(inventory); 205 159 206 pelaaja1.Weapon = new AssaultRifle(30, 10); 160 pelaaja1.Weapon.Ammo.Value = 1000 ;207 pelaaja1.Weapon.Ammo.Value = 100000; 161 208 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 209 210 //inventory.AddItem(, flamerkuva); 211 162 212 } 163 213 void LisaaPelaaja2(Vector paikka, double leveys, double korkeus) … … 186 236 (kohde as Vihu).ElamaLaskuri.Value--; 187 237 osumisaani.Play(); 238 188 239 } 189 240 } … … 212 263 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 213 264 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 265 214 266 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 215 267 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); … … 228 280 hahmo.Walk(nopeus); 229 281 } 282 283 230 284 231 285 void Hyppaa(PlatformCharacter hahmo, double nopeus) … … 233 287 hahmo.Jump(nopeus); 234 288 } 289 290 235 291 void Tormaaviholliseen(PhysicsObject hahmo, PhysicsObject vihollinen) 236 292 { … … 238 294 osumisaani.Play(); 239 295 } 296 297 240 298 void LuoAlien() 241 299 { 242 Vihu vihollinen = new Vihu(20, 100, 100); 300 Vihu vihollinen = new Vihu(20, 100, 150); 301 vihollinen.ElamaLaskuri.LowerLimit += delegate 302 { 303 vihollinen.Destroy(); 304 vihut.Remove(vihollinen as Vihu); 305 pisteLaskuri.Value += 20; 306 }; 243 307 vihollinen.Image = AlienKuva; 244 308 vihollinen.CollisionIgnoreGroup = 1; … … 247 311 Add(vihollinen); 248 312 313 vihut.Add(vihollinen); 314 249 315 vihollinen.Animation = AlienKavely; 250 316 vihollinen.Animation.FPS = 5; … … 260 326 vihollinen.Brain = tasoAivot; 261 327 } 328 329 262 330 void LuoOrkki() 263 331 { 264 332 Vihu vihollinen = new Vihu(10, 200, 200); 333 vihollinen.ElamaLaskuri.LowerLimit += delegate 334 { 335 vihollinen.Destroy(); 336 vihut.Remove(vihollinen as Vihu); 337 pisteLaskuri.Value += 10; 338 }; 265 339 vihollinen.Image = Orkkikuva; 266 340 vihollinen.CollisionIgnoreGroup = 1; … … 268 342 vihollinen.Tag = "vihollinen"; 269 343 Add(vihollinen); 344 345 vihut.Add(vihollinen); 346 270 347 vihollinen.Animation = OrkinKavely; 271 348 vihollinen.Animation.FPS = 5; … … 284 361 { 285 362 Vihu vihollinen = new Vihu(3, 100, 100); 363 vihollinen.ElamaLaskuri.LowerLimit += delegate { 364 vihollinen.Destroy(); 365 vihut.Remove(vihollinen as Vihu); 366 pisteLaskuri.Value += 5; 367 }; 286 368 vihollinen.Image = monsteri; 287 369 vihollinen.CollisionIgnoreGroup = 1; … … 289 371 vihollinen.Tag = "vihollinen"; 290 372 Add(vihollinen); 373 374 vihut.Add(vihollinen); 375 291 376 vihollinen.Animation = MonsteriKavely; 292 377 vihollinen.Animation.FPS = 5; … … 324 409 Add(elamaPalkki); 325 410 } 411 412 326 413 void ElamaLoppui() 327 414 { … … 331 418 332 419 420 IntMeter pisteLaskuri; 421 422 void LuoPistelaskuri() 423 { 424 pisteLaskuri = new IntMeter(0); 425 426 Label pisteNaytto = new Label(); 427 pisteNaytto.X = Screen.Left + 100; 428 pisteNaytto.Y = Screen.Top - 100; 429 pisteNaytto.TextColor = Color.Black; 430 pisteNaytto.Color = Color.White; 431 432 pisteNaytto.BindTo(pisteLaskuri); 433 Add(pisteNaytto); 434 } 435 436 void AloitaAalto() 437 { 438 int kier = 20 / kieorrokset; 439 440 Timer ajastin = new Timer(); 441 ajastin.Interval = RandomGen.NextDouble(3.0, 5.0); 442 ajastin.Timeout += Luovihollinen; 443 ajastin.Start(); 444 445 Timer ajastin2 = new Timer(); 446 ajastin2.Interval = RandomGen.NextDouble(6.0, 8.0); 447 ajastin2.Timeout += LuoOrkki; 448 ajastin2.Start(); 449 450 Timer ajastin3 = new Timer(); 451 ajastin3.Interval = RandomGen.NextDouble(9.0, 12.0); 452 ajastin3.Timeout += LuoAlien; 453 ajastin3.Start(); 454 455 if (alaspainLaskuri==null) LuoAaltoAikaLaskuri(); 456 else 457 { 458 alaspainLaskuri.Value = MAX_KIERROSAIKA / kieorrokset; 459 aaltoAikaLaskuri.Start(); 460 } 461 Timer.SingleShot(MAX_KIERROSAIKA / kieorrokset, delegate { ajastin.Stop(); ajastin2.Stop(); ajastin3.Stop(); TarkistaLoppu(); }); 462 } 463 464 465 void LuoAaltoPalkki() 466 { 467 aaltoPalkki = new DoubleMeter(20); 468 aaltoPalkki.MaxValue = 20; 469 aaltoPalkki.LowerLimit += AloitaAalto; 470 471 aaltoNaytto = new ProgressBar(150, 20); 472 aaltoNaytto.X = 0; 473 aaltoNaytto.Y = Screen.Top - 20; 474 aaltoNaytto.BindTo(aaltoPalkki); 475 Add(aaltoNaytto); 476 } 477 478 void LuoAaltoAikaLaskuri() 479 { 480 alaspainLaskuri = new DoubleMeter(MAX_KIERROSAIKA / kieorrokset); 481 482 aaltoAikaLaskuri = new Timer(); 483 aaltoAikaLaskuri.Interval = 0.1; 484 aaltoAikaLaskuri.Timeout += LaskeAlaspain; 485 aaltoAikaLaskuri.Start(); 486 487 Label aikaNaytto = new Label(); 488 aikaNaytto.TextColor = Color.White; 489 aikaNaytto.DecimalPlaces = 1; 490 aikaNaytto.X = 0; 491 aikaNaytto.Y = Screen.Top - 50; 492 aikaNaytto.BindTo(alaspainLaskuri); 493 Add(aikaNaytto); 494 } 495 496 void LaskeAlaspain() 497 { 498 alaspainLaskuri.Value -= 0.1; 499 500 if (alaspainLaskuri.Value <= 0) 501 { 502 MessageDisplay.Add("Aika loppui..."); 503 aaltoAikaLaskuri.Stop(); 504 505 // täydennä mitä tapahtuu, kun aika loppuu 506 } 507 } 508 509 510 void TarkistaLoppu() 511 { 512 Timer tarkistaja = new Timer(); 513 tarkistaja.Interval = 0.5; 514 tarkistaja.Timeout += delegate { if (vihut.Count <= 0) { tarkistaja.Stop(); AaltoLoppui(); } }; 515 tarkistaja.Start(); 516 } 517 518 519 void AaltoLoppui() 520 { 521 kieorrokset--; 522 aaltoPalkki.Value = 20; 523 Timer aaltoLaskuri = new Timer(); 524 aaltoLaskuri.Interval = 0.1; 525 aaltoLaskuri.Timeout += delegate { aaltoPalkki.Value--; MessageDisplay.Add("Moi"); }; 526 aaltoLaskuri.Start(20); 527 } 333 528 334 529 -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.csproj.Debug.cachefile
r5327 r5380 17 17 Content\Alien.xnb 18 18 Content\Alien2.xnb 19 Content\Leijuri.xnb 20 Content\Flamer.xnb 21 Content\Automaattitykki.xnb 22 Content\Este.xnb 19 23 Content\musiikki.wma -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/Avaruuspeli.csproj.FileListAbsolute.txt
r5327 r5380 26 26 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Alien.xnb 27 27 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Alien2.xnb 28 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Leijuri.xnb 29 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Flamer.xnb 30 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Automaattitykki.xnb 31 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Este.xnb -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/ContentPipeline-{5282F811-AB87-41EF-A580-9908C47A987D}.xml
r5327 r5380 18 18 <Options>None</Options> 19 19 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\kentta1.xnb</Output> 20 <Time>2014-07-0 2T10:48:13.2106738+03:00</Time>20 <Time>2014-07-03T11:23:30.3965225+03:00</Time> 21 21 </Item> 22 22 <Item> … … 27 27 <Options>None</Options> 28 28 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\scifi hallway space ship model interior.xnb</Output> 29 <Time>2014-07-0 2T12:39:19.3122173+03:00</Time>29 <Time>2014-07-03T11:28:06.9181719+03:00</Time> 30 30 </Item> 31 31 <Item> … … 164 164 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Alien2.xnb</Output> 165 165 <Time>2014-07-03T10:45:54.7889843+03:00</Time> 166 </Item> 167 <Item> 168 <Source>Leijuri.png</Source> 169 <Name>Leijuri</Name> 170 <Importer>TextureImporter</Importer> 171 <Processor>TextureProcessor</Processor> 172 <Options>None</Options> 173 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Leijuri.xnb</Output> 174 <Time>2014-07-03T11:43:20.0074717+03:00</Time> 175 </Item> 176 <Item> 177 <Source>Flamer.png</Source> 178 <Name>Flamer</Name> 179 <Importer>TextureImporter</Importer> 180 <Processor>TextureProcessor</Processor> 181 <Options>None</Options> 182 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Flamer.xnb</Output> 183 <Time>2014-07-03T14:25:45.2429124+03:00</Time> 184 </Item> 185 <Item> 186 <Source>Automaattitykki.png</Source> 187 <Name>Automaattitykki</Name> 188 <Importer>TextureImporter</Importer> 189 <Processor>TextureProcessor</Processor> 190 <Options>None</Options> 191 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Automaattitykki.xnb</Output> 192 <Time>2014-07-03T14:25:52.1706051+03:00</Time> 193 </Item> 194 <Item> 195 <Source>Este.png</Source> 196 <Name>Este</Name> 197 <Importer>TextureImporter</Importer> 198 <Processor>TextureProcessor</Processor> 199 <Options>None</Options> 200 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Este.xnb</Output> 201 <Time>2014-07-03T14:26:16.4600338+03:00</Time> 166 202 </Item> 167 203 <BuildSuccessful>true</BuildSuccessful> -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/cachefile-{5282F811-AB87-41EF-A580-9908C47A987D}-targetpath.txt
r5327 r5380 18 18 Content\Alien.xnb 19 19 Content\Alien2.xnb 20 Content\Leijuri.xnb 21 Content\Flamer.xnb 22 Content\Automaattitykki.xnb 23 Content\Este.xnb -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/AvaruuspeliContent/AvaruuspeliContent.contentproj
r5327 r5380 141 141 </Compile> 142 142 </ItemGroup> 143 <ItemGroup> 144 <Compile Include="Leijuri.png"> 145 <Name>Leijuri</Name> 146 <Importer>TextureImporter</Importer> 147 <Processor>TextureProcessor</Processor> 148 </Compile> 149 </ItemGroup> 150 <ItemGroup> 151 <Compile Include="Flamer.png"> 152 <Name>Flamer</Name> 153 <Importer>TextureImporter</Importer> 154 <Processor>TextureProcessor</Processor> 155 </Compile> 156 </ItemGroup> 157 <ItemGroup> 158 <Compile Include="Automaattitykki.png"> 159 <Name>Automaattitykki</Name> 160 <Importer>TextureImporter</Importer> 161 <Processor>TextureProcessor</Processor> 162 </Compile> 163 </ItemGroup> 164 <ItemGroup> 165 <Compile Include="Este.png"> 166 <Name>Este</Name> 167 <Importer>TextureImporter</Importer> 168 <Processor>TextureProcessor</Processor> 169 </Compile> 170 </ItemGroup> 143 171 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 144 172 <!-- 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.