- Timestamp:
- 2010-06-17 15:56:55 (13 years ago)
- Location:
- 2010/24/Vilvaini/Smile Jump
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/24/Vilvaini/Smile Jump/Content/Content.contentproj
r902 r954 61 61 </Compile> 62 62 </ItemGroup> 63 <ItemGroup> 64 <Compile Include="smile jump aloitusruutu.png"> 65 <Name>smile jump aloitusruutu</Name> 66 <Importer>TextureImporter</Importer> 67 <Processor>TextureProcessor</Processor> 68 </Compile> 69 </ItemGroup> 63 70 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 64 71 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2010/24/Vilvaini/Smile Jump/Peli.cs
r936 r954 10 10 const double hyppyVoima = 4000; 11 11 double tasokorkeus = 0; 12 double tramppahyppy = 0; 12 13 double vihollistiheytys = 1; 13 14 double tasoleveys = 150; 14 15 double viholliskorkeus = 800; 16 17 //bool pelaajan1ase = false; 18 bool Kolmepelaajaa = false; 19 //bool pelaajan2ase = false; 20 15 21 IntMeter pelaajan1pisteet; 16 22 IntMeter pelaajan2pisteet; … … 18 24 PlatformCharacter pelaaja1; 19 25 PlatformCharacter pelaaja2; 26 PlatformCharacter pelaaja3; 27 PlatformCharacter pelaaja4; 20 28 //PhysicsObject vihollinen; 29 PhysicsObject Alku; 21 30 PhysicsObject taso; 22 31 23 32 Timer aikaLaskuri; 24 25 33 Timer aikaLaskuri2; 34 26 35 PhysicsObject vasenReuna; 27 36 PhysicsObject alaReuna; 28 37 PhysicsObject oikeaReuna; 29 38 PhysicsObject DownReuna; 30 int kenttaNro; // monesko kenttä on menossa31 39 32 40 … … 37 45 pelaajan1pisteet = new IntMeter(0); 38 46 pelaajan2pisteet = new IntMeter(0); 47 39 48 Camera.StayInLevel = true; 40 seuraavaKentta(); 49 Alkukentta(); 50 } 51 52 void Alkukentta() 53 { 54 ClearAll(); 55 AlustaPistelaskurit(); 56 MessageDisplay.Add("Aloita kaksinpeli (Paina 2)"); 57 MessageDisplay.Add("Aloita yksinpeli (Paina 1)"); 58 MessageDisplay.Add("Poistu (Paina P)"); 59 Alkunappaimet(); 60 lisaaPelaajat(); 61 LisaaDownReuna(); 62 alaReuna = Level.CreateBottomBorder(); 63 Level.Background.CreateGradient(Color.Beige, Color.Wheat); 64 LisaaAloitusruutu(); 65 } 66 67 private void AlustaPistelaskurit() 68 { 69 pelaajan1pisteet.Reset(); 70 pelaajan2pisteet.Reset(); 71 } 72 73 private void Alkunappaimet() 74 { 75 Keyboard.Listen(Key.D2, ButtonState.Pressed, seuraavaKentta, ""); 76 Keyboard.Listen(Key.D1, ButtonState.Pressed, ShowControlHelp, ""); 77 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 41 78 } 42 79 … … 60 97 lisaaTaso(RandomGen.NextDouble(Level.Left + 50, Level.Right - 50), Level.Bottom + 150, 150); 61 98 62 vasenReuna = Level.CreateLeftBorder(); 63 vasenReuna.Restitution = 0.0; 64 vasenReuna.IsVisible = false; 65 66 alaReuna = Level.CreateBottomBorder(); 67 vasenReuna.Restitution = 0.0; 68 vasenReuna.IsVisible = false; 69 70 oikeaReuna = Level.CreateRightBorder(); 71 vasenReuna.Restitution = 0.0; 72 vasenReuna.IsVisible = false; 73 74 75 99 TeeReunat(); 100 TeePistenaytot(); 101 102 // Asetetaan painovoima 103 Gravity = new Vector(0, -600); 104 105 luoKentta(); 106 lisaaNappaimet(); 107 } 108 109 void TeePistenaytot() 110 { 76 111 // luodaan pistelaskunäyttö 77 112 ValueDisplay pisteNaytto = new ValueDisplay(); … … 83 118 pisteNaytto.BindTo(pelaajan1pisteet); 84 119 Add(pisteNaytto); // lisätään peliin 85 120 86 121 87 122 // luodaan pistelaskunäyttö … … 95 130 Add(pisteNaytto2); // lisätään peliin 96 131 97 kenttaNro += 1; // lisätään kenttänumeroa yhdellä 98 MessageDisplay.Add("Kenttä " + kenttaNro); 99 100 // Asetetaan painovoima 101 Gravity = new Vector(0, -600); 102 103 luoKentta(); 104 lisaaNappaimet(); 105 //LisaaDownReuna(Camera.Position.Y - 200); 106 107 108 } 109 110 111 132 } 133 134 void TeeReunat() 135 { 136 vasenReuna = Level.CreateLeftBorder(); 137 vasenReuna.Restitution = 0.0; 138 vasenReuna.IsVisible = false; 139 140 alaReuna = Level.CreateBottomBorder(); 141 vasenReuna.Restitution = 0.0; 142 vasenReuna.IsVisible = false; 143 144 oikeaReuna = Level.CreateRightBorder(); 145 vasenReuna.Restitution = 0.0; 146 vasenReuna.IsVisible = false; 147 } 148 149 void LisaaAloitusruutu() 150 { 151 Alku = PhysicsObject.CreateStaticObject(800, 400); 152 Alku.X = 0; 153 Alku.Y = Level.Bottom + 300; 154 Alku.Image = LoadImage("Smile Jump aloitusruutu"); 155 Alku.IgnoresCollisionResponse = true; 156 Alku.IgnoresPhysicsLogics = true; 157 Add(Alku); 158 } 112 159 113 160 void KasittelePallonTormays(PhysicsObject pelaaja1, PhysicsObject kohde) … … 132 179 } 133 180 134 void p1piste(PhysicsObject p1, PhysicsObject kohde)181 void Pelaaja1Osui(PhysicsObject p1, PhysicsObject kohde) 135 182 { 136 183 if (kohde == DownReuna) … … 138 185 pelaajan2pisteet.Value += 1; 139 186 p1.Destroy(); 140 seuraavaKentta(); 187 if (pelaajan2pisteet >= 2) 188 { 189 MessageDisplay.TextColor = Color.White; 190 MessageDisplay.Add("Pelaaja 2 voitti pelin."); 191 Alkukentta(); 192 } 193 else 194 { 195 seuraavaKentta(); 196 } 141 197 } 142 198 … … 146 202 pelaajan2pisteet.Value += 1; 147 203 p1.Destroy(); 148 seuraavaKentta(); 204 if (pelaajan2pisteet < 2) 205 { 206 seuraavaKentta(); 207 } 149 208 } 150 209 151 210 } 152 211 153 void VihollisKaantyVR(PhysicsObject vihulainen, PhysicsObject kohde) 154 { 155 if (kohde == vasenReuna) 156 { 157 vihulainen.Velocity = new Vector(220.0, 0.0); 158 } 159 160 } 161 162 void VihollisKaantyOR(PhysicsObject vihulainen, PhysicsObject kohde) 163 { 164 if (kohde == oikeaReuna) 165 { 166 vihulainen.Velocity = new Vector(-220.0, 0.0); 167 } 168 169 } 170 171 void p2piste(PhysicsObject p2, PhysicsObject kohde) 212 void Pelaaja2Osui(PhysicsObject p2, PhysicsObject kohde) 172 213 { 173 214 if (kohde == DownReuna) … … 175 216 pelaajan1pisteet.Value++; 176 217 p2.Destroy(); 177 seuraavaKentta(); 218 if (pelaajan1pisteet >= 2) 219 { 220 MessageDisplay.TextColor = Color.White; 221 MessageDisplay.Add("Pelaaja 1 voitti pelin."); 222 Alkukentta(); 223 } 224 else 225 { 226 seuraavaKentta(); 227 } 178 228 } 179 229 … … 183 233 kohde.Destroy(); 184 234 p2.Destroy(); 185 seuraavaKentta(); 186 } 187 188 } 235 if (pelaajan1pisteet < 2) 236 { 237 seuraavaKentta(); 238 } 239 } 240 241 } 242 243 void VihollisKaantyVR(PhysicsObject vihulainen, PhysicsObject kohde) 244 { 245 if (kohde == vasenReuna) 246 { 247 vihulainen.Velocity = new Vector(220.0, 0.0); 248 } 249 250 } 251 252 void VihollisKaantyOR(PhysicsObject vihulainen, PhysicsObject kohde) 253 { 254 if (kohde == oikeaReuna) 255 { 256 vihulainen.Velocity = new Vector(-220.0, 0.0); 257 } 258 259 } 260 189 261 void luoKentta() 190 262 { … … 201 273 vihollistiheytys = 0; 202 274 viholliskorkeus = 0; 203 for (int v = 0; v < 115; v++)275 for (int v = 0; v < 55; v++) 204 276 { 205 277 viholliskorkeus = viholliskorkeus + 600 - vihollistiheytys; 206 278 LisaaVihollinen(RandomGen.NextDouble(Level.Left , Level.Right), Level.Bottom + viholliskorkeus + RandomGen.NextDouble(0.0, 40.0)); 207 vihollistiheytys = vihollistiheytys + 5;279 vihollistiheytys = vihollistiheytys + 10; 208 280 } 209 281 … … 217 289 } 218 290 219 LisaaDownReuna(Camera.Position.Y - 200); 220 221 222 Level.Background.CreateGradient(Color.Beige, Color.Wheat); 223 224 291 //LisaaDownReuna(Camera.Position.Y - 200); 292 LisaaDownReuna(); 293 294 Level.Background.CreateGradient(Color.SkyBlue, Color.DarkBlue); 225 295 lisaaPelaajat(); 226 296 227 aikaLaskuri = new Timer(); // luodaan uusi ajastin, nimeltä aikaLaskuri228 aikaLaskuri.Interval = 1; // ajastukseksi 5 sekuntia229 aikaLaskuri.Trigger += new Timer.TriggerHandler(aikaLoppui); // // asetetaan tapahtuma, kun aikaLaskuri kun 5 sekuntia on kulunut.230 Add(aikaLaskuri); // lisätään aikaLaskuri peliin297 aikaLaskuri = new Timer(); 298 aikaLaskuri.Interval = 1; 299 aikaLaskuri.Trigger += aikaLoppui; 300 Add(aikaLaskuri); 231 301 aikaLaskuri.Start(1); 232 302 233 kenttaNro = 0;234 303 Level.Width = 1024; 235 304 Level.Height = 15000; … … 237 306 LisaaVihollinen(0.0, Level.Bottom + 500); 238 307 Camera.StayInLevel = true; 239 240 308 241 309 pelaajan1pisteet.MaxValue = 2; 242 pelaajan1pisteet.UpperLimit += laskuriYlarajassa;243 244 245 }246 247 void laskuriYlarajassa(int arvo)248 {249 MessageDisplay.TextColor = Color.White;250 MessageDisplay.Add("Pelaaja 1 voitti pelin.");251 310 } 252 311 … … 289 348 } 290 349 350 void lisaaPelaaja3() 351 { 352 pelaaja3 = new PlatformCharacter(40, 40); 353 pelaaja3.Mass = 4.0; 354 pelaaja3.Shape = Shapes.Circle; 355 pelaaja3.Image = LoadImage("smile jump(keltainen pelaaja) (2)"); 356 pelaaja3.X = -50; 357 pelaaja3.Y = Level.Bottom + 50; 358 359 AddCollisionHandler(pelaaja3, KasittelePallonTormays); 360 361 Add(pelaaja3); 362 } 363 364 void lisaaPelaaja4() 365 { 366 pelaaja4 = new PlatformCharacter(40, 40); 367 pelaaja4.Mass = 4.0; 368 pelaaja4.Shape = Shapes.Circle; 369 pelaaja4.Image = LoadImage("smile jump (vihreä pelaaja) (2)"); 370 pelaaja4.X = 100; 371 pelaaja4.Y = Level.Bottom + 50; 372 373 AddCollisionHandler(pelaaja4, KasittelePallonTormays); 374 375 Add(pelaaja4); 376 } 377 291 378 void LisaaVihollinen(double x, double y) 292 379 { … … 294 381 vihollinen.Image = LoadImage("smile jump(vihollinen) (2)"); 295 382 vihollinen.Tag = "vihollinen"; 383 vihollinen.Shape = Shapes.Circle; 296 384 vihollinen.X = x; 297 385 vihollinen.Y = y; … … 305 393 } 306 394 395 void LisaaTramppaika(double tr) 396 { 397 tramppahyppy = tr; 398 aikaLaskuri2 = new Timer(); // luodaan uusi ajastin, nimeltä aikaLaskuri 399 aikaLaskuri2.Interval = 1; // ajastukseksi 5 sekuntia 400 aikaLaskuri2.Trigger += new Timer.TriggerHandler(aikaLoppui2); // // asetetaan tapahtuma, kun aikaLaskuri kun 5 sekuntia on kulunut. 401 Add(aikaLaskuri2); // lisätään aikaLaskuri peliin 402 aikaLaskuri2.Start(1); 403 } 404 405 406 307 407 private void aikaLoppui(Timer sender) 308 408 { 309 AddCollisionHandler(pelaaja1, p1piste); 310 AddCollisionHandler(pelaaja2, p2piste); 311 312 } 313 314 409 AddCollisionHandler(pelaaja1, Pelaaja1Osui); 410 AddCollisionHandler(pelaaja2, Pelaaja2Osui); 411 } 412 413 // TODO: kesken 414 private void aikaLoppui2(Timer sender) 415 { 416 if (tramppahyppy == 2) 417 { 418 pelaaja2.IgnoresCollisionResponse = false; 419 pelaaja2.IgnoresPhysicsLogics = false; 420 } 421 else 422 { 423 pelaaja1.IgnoresCollisionResponse = false; 424 pelaaja1.IgnoresPhysicsLogics = false; 425 } 426 427 } 315 428 316 429 void lisaaNappaimet() … … 330 443 } 331 444 445 // TODO: kesken 446 //void KasitteleAse(PhysicsObject Ase, PhysicsObject pelaaja) 447 //{ 448 // if (pelaaja == pelaaja1) 449 // { 450 // pelaajan1ase = true; 451 // } 452 // else if (pelaaja == pelaaja2) 453 // { 454 // pelaajan2ase = true; 455 // } 456 // } 457 332 458 void lisaaGamePadNappaimet(GamePad controller) 333 459 { 334 460 controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 335 461 336 controller.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja 1, -nopeus);337 controller.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja 1, nopeus);338 controller.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja 1, hyppyVoima);462 controller.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja3, -nopeus); 463 controller.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja3, nopeus); 464 controller.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja3, hyppyVoima); 339 465 } 340 466 … … 349 475 } 350 476 351 void LisaaDownReuna(double y) 477 /// <summary> 478 /// DownReuna tuhoaa pelaajat ja tasot, jotka ovat 479 /// ruudun alapuolella. 480 /// </summary> 481 void LisaaDownReuna() 352 482 { 353 483 DownReuna = new PhysicsObject(2000, 100); … … 356 486 DownReuna.IgnoresCollisionResponse = true; 357 487 DownReuna.IgnoresGravity = true; 358 359 488 Add(DownReuna); 360 361 362 } 363 364 365 366 367 489 } 368 490 369 491 protected override void Update(Time time) 370 492 { 371 if (pelaaja1.Y > pelaaja2.Y) 372 { 373 Camera.Follow(pelaaja1); 374 375 } 376 else 377 { 378 Camera.Follow(pelaaja2); 379 380 } 381 493 if (Kolmepelaajaa == true) 494 { 495 if (pelaaja1.Y > pelaaja2.Y) 496 { 497 if (pelaaja1.Y > pelaaja3.Y) 498 { 499 Camera.Follow(pelaaja1); 500 } 501 } 502 if (pelaaja2.Y > pelaaja3.Y) 503 { 504 if (pelaaja2.Y > pelaaja1.Y) 505 { 506 Camera.Follow(pelaaja2); 507 } 508 509 } 510 if (pelaaja3.Y > pelaaja2.Y) 511 { 512 if (pelaaja3.Y > pelaaja1.Y) 513 { 514 Camera.Follow(pelaaja3); 515 } 516 517 } 518 519 } 520 521 // Tämä pitää huolen siitä, että kun kamera menee ylöspäin, niin kameran 522 // alapuolella olevat asiat tuhoutuvat. 382 523 DownReuna.Y = Camera.Position.Y - 400; 383 384 524 385 525 base.Update(time); -
2010/24/Vilvaini/Smile Jump/Smile Jump.csproj
r867 r954 57 57 </PropertyGroup> 58 58 <ItemGroup> 59 <Reference Include="Jypeli2, Version= 1.0.0.0, Culture=neutral, processorArchitecture=x86">59 <Reference Include="Jypeli2, Version=2.1.9.0, Culture=neutral, processorArchitecture=x86"> 60 60 <SpecificVersion>False</SpecificVersion> 61 61 <HintPath>..\..\lib\Jypeli2.dll</HintPath>
Note: See TracChangeset
for help on using the changeset viewer.