Changeset 1830
- Timestamp:
- 2011-06-09 17:15:23 (12 years ago)
- Location:
- 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1
- Files:
-
- 5 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs
r1748 r1830 10 10 { 11 11 const double nopeus = 200; 12 const double hyppyNopeus = 10000;12 const double hyppyNopeus = 900; 13 13 const int RUUDUN_KOKO = 40; 14 15 IntMeter pisteLaskuri; 14 16 15 17 List<Label> ValikonKohdat; … … 20 22 Image tahtiKuva = LoadImage("Kolikko"); 21 23 22 SoundEffect maaliAani = LoadSoundEffect(" maali");24 SoundEffect maaliAani = LoadSoundEffect("Coin Sound Effect"); 23 25 24 26 public override void Begin() 25 27 { 26 28 Valikko(); 29 MediaPlayer.Play("Musiikki"); 30 MediaPlayer.IsRepeating = true; 31 } 32 33 void LuoLaskuri() 34 { 35 pisteLaskuri = new IntMeter(0); 36 37 Label pisteNaytto = new Label(); 38 pisteNaytto.X = Screen.Left + 100; 39 pisteNaytto.Y = Screen.Top - 100; 40 pisteNaytto.TextColor = Color.Turquoise; 41 42 pisteNaytto.BindTo(pisteLaskuri); 43 Add(pisteNaytto); 44 45 Label pisteTeksti = new Label("Pojot: "); 46 pisteTeksti.X = Screen.Left + 50; 47 pisteTeksti.Y = Screen.Top - 100; 48 pisteTeksti.TextColor = Color.SkyBlue; 49 Add(pisteTeksti); 50 } 51 52 void laskuriYlarajassa(int arvo) 53 { 54 Label Jee = new Label("Et vaan osaa..."); 55 Jee.Position = new Vector(10, 0); 56 Jee.TextColor = RandomGen.NextColor(); 57 Add(Jee); 58 Timer.SingleShot(1.5, Jee.Destroy); 59 Timer.SingleShot(2.0, Aloota); 27 60 } 28 61 … … 30 63 { 31 64 ClearAll(); 65 ValikonKohdat = new List<Label>(); 66 Level.Background.CreateGradient(Color.DarkGreen, Color.Black); 67 68 Label kohta1 = new Label("Testi Kenttä"); 69 kohta1.Position = new Vector(0, 50); 70 kohta1.TextColor = Color.Wheat; 71 ValikonKohdat.Add(kohta1); 72 73 Label kohta2 = new Label("Kenttä 1 (Kesken)"); 74 kohta2.Position = new Vector(0, 00); 75 kohta2.TextColor = Color.Wheat; 76 ValikonKohdat.Add(kohta2); 77 78 Label kohta3 = new Label("Takaisin Valikkoon"); 79 kohta3.Position = new Vector(0, -150); 80 kohta3.TextColor = Color.Wheat; 81 ValikonKohdat.Add(kohta3); 82 83 84 foreach (Label Valikonkohta in ValikonKohdat) 85 Add(Valikonkohta); 86 87 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AlootaK1, null); 88 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, AlootaK2, null); 89 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Valikko, null); 90 91 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, null); 92 Keyboard.Listen(Key.Enter, ButtonState.Pressed, AlootaK1, null); 93 94 Mouse.IsCursorVisible = true; 95 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 96 } 97 98 void AlootaK1() 99 { 100 ClearAll(); 32 101 33 102 Gravity = new Vector(0, -1000); 34 103 nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 35 104 luoKentta(); 36 105 lisaaNappaimet(); 106 LuoLaskuri(); 107 108 pisteLaskuri.MaxValue = 2265; 109 pisteLaskuri.UpperLimit += laskuriYlarajassa; 37 110 38 111 Camera.Follow(pelaaja1); … … 41 114 } 42 115 116 void AlootaK2() 117 { 118 ClearAll(); 119 120 Gravity = new Vector(0, -1000); 121 nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 122 luoKentta2(); 123 lisaaNappaimet(); 124 LuoLaskuri(); 125 126 pisteLaskuri.MaxValue = 2265; 127 pisteLaskuri.UpperLimit += laskuriYlarajassa; 128 129 Camera.Follow(pelaaja1); 130 Camera.ZoomFactor = 1.2; 131 Camera.StayInLevel = true; 132 } 133 43 134 void Lopeta() 44 135 { … … 46 137 } 47 138 139 void Credits() 140 { 141 ClearAll(); 142 ValikonKohdat = new List<Label>(); 143 Level.Background.CreateGradient(Color.DarkGreen, Color.Black); 144 145 Label kohta4 = new Label("Pelin ohjelmoi: Hra. Ankka"); 146 kohta4.Position = new Vector(0, 300); 147 kohta4.TextColor = Color.Turquoise; 148 ValikonKohdat.Add(kohta4); 149 150 Label kohta5 = new Label("Pelaajan tekstuurit: Hra. Ankka"); 151 kohta5.Position = new Vector(0, 250); 152 kohta5.TextColor = Color.Turquoise; 153 ValikonKohdat.Add(kohta5); 154 155 Label kohta6 = new Label("Musiikki: Ropocalypse 2"); 156 kohta6.Position = new Vector(0, 200); 157 kohta6.TextColor = Color.Turquoise; 158 ValikonKohdat.Add(kohta6); 159 160 Label kohta7 = new Label("Kaikki muu ihmeellinen: Jyväskylän Yliopisto"); 161 kohta7.Position = new Vector(0, 150); 162 kohta7.TextColor = Color.Turquoise; 163 ValikonKohdat.Add(kohta7); 164 165 Label kohta8 = new Label("Paitsi kolikko ääni joka kuuluu Mariolle"); 166 kohta8.Position = new Vector(0, 100); 167 kohta8.TextColor = Color.Turquoise; 168 ValikonKohdat.Add(kohta8); 169 170 Label kohta1 = new Label("Takaisin Valikkoon"); 171 kohta1.Position = new Vector(0, -100); 172 kohta1.TextColor = Color.Wheat; 173 ValikonKohdat.Add(kohta1); 174 175 foreach (Label Valikonkohta in ValikonKohdat) 176 Add(Valikonkohta); 177 178 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Valikko, null); 179 180 Mouse.IsCursorVisible = true; 181 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 182 183 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, null); 184 Keyboard.Listen(Key.Enter, ButtonState.Pressed, Valikko, null); 185 } 186 48 187 void Valikko() 49 188 { 50 189 ClearAll(); 51 Level.Background Color = Color.DarkGreen;190 Level.Background.CreateGradient (Color.DarkGreen, Color.Black); 52 191 ValikonKohdat = new List<Label>(); 53 192 … … 58 197 59 198 Label kohta2 = new Label("Lopeta"); 60 kohta2.Position = new Vector(0, - 30);199 kohta2.Position = new Vector(0, -50); 61 200 kohta2.TextColor = Color.Wheat; 62 201 ValikonKohdat.Add(kohta2); 63 202 203 Label kohta3 = new Label("Credits"); 204 kohta3.Position = new Vector(0, 0); 205 kohta3.TextColor = Color.Wheat; 206 ValikonKohdat.Add(kohta3); 207 64 208 foreach (Label Valikonkohta in ValikonKohdat) 65 209 Add(Valikonkohta); … … 67 211 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Aloota, null); 68 212 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 213 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Credits, null); 69 214 70 215 Mouse.IsCursorVisible = true; 71 216 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 72 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 217 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, null); 218 Keyboard.Listen(Key.Enter, ButtonState.Pressed, Aloota, null); 73 219 } 74 220 … … 79 225 if (Mouse.IsCursorOn(kohta)) 80 226 { 81 kohta.TextColor = Color.YellowGreen; 227 if (kohta.TextColor == Color.Wheat) 228 kohta.TextColor = Color.YellowGreen; 82 229 } 83 else 230 231 else if (kohta.TextColor == Color.YellowGreen) 84 232 { 85 233 kohta.TextColor = Color.Wheat; … … 90 238 void luoKentta() 91 239 { 240 AlustaNappilista(); 92 241 TileMap kentta = TileMap.FromFile("kentta1.txt"); 93 242 kentta['#'] = lisaaTaso; 94 243 kentta['*'] = lisaaTahti; 95 244 kentta['N'] = lisaaPelaaja; 245 kentta['^'] = lisaaIlkea; 96 246 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 97 247 Level.CreateBorders(); 98 Level.Background.CreateGradient(Color.White, Color.SkyBlue); 248 Level.Background.CreateGradient (Color.White, Color.DarkGreen); 249 } 250 251 void luoKentta2() 252 { 253 AlustaNappilista(); 254 255 TileMap kentta2 = TileMap.FromFile("kenttä2.txt"); 256 kentta2['#'] = lisaaTaso; 257 kentta2['*'] = lisaaTahti; 258 kentta2['N'] = lisaaPelaaja; 259 kentta2['i'] = lisaaNappi_i; 260 kentta2['I'] = lisaaOviI; 261 kentta2['k'] = lisaaNappi_k; 262 kentta2['K'] = lisaaOviK; 263 kentta2['l'] = lisaaNappi_l; 264 kentta2['L'] = lisaaOviL; 265 kentta2['q'] = lisaaNappi_q; 266 kentta2['Q'] = lisaaOviQ; 267 kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 268 Level.CreateBorders(); 269 Level.Background.CreateGradient(Color.White, Color.DarkGreen); 270 } 271 272 private void AlustaNappilista() 273 { 274 for (char c = 'a'; c < 'z'; c++) 275 { 276 nappejaVastaavatOvet.Add(c, new List<PhysicsObject>()); 277 } 99 278 } 100 279 … … 103 282 PhysicsObject taso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO + 20); 104 283 taso.Shape = Shape.Rectangle; 105 taso.Angle = RandomGen.NextAngle();106 284 taso.Color = RandomGen.NextColor(); 107 285 return taso; … … 119 297 } 120 298 299 PhysicsObject lisaaIlkea() 300 { 301 PhysicsObject ilkea = new PhysicsObject(20, 20); 302 ilkea.Mass = 4.0; 303 ilkea.Angle = RandomGen.NextAngle(); 304 ilkea.Shape = Shape.Circle; 305 ilkea.Image = tahtiKuva; 306 ilkea.Tag = "Ilkeä"; 307 return ilkea; 308 } 309 310 PhysicsObject lisaaNappi_k() 311 { 312 return lisaaNappi('k', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 313 } 314 PhysicsObject lisaaNappi_l() 315 { 316 return lisaaNappi('l', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 317 } 318 PhysicsObject lisaaNappi_i() 319 { 320 return lisaaNappi('i', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 321 } 322 PhysicsObject lisaaNappi_q() 323 { 324 return lisaaNappi('q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 325 } 326 327 PhysicsObject lisaaNappi(char merkki, Color c, double x, double y) 328 { 329 PhysicsObject nappi = PhysicsObject.CreateStaticObject(x, y); 330 nappi.Color = c; 331 nappi.Tag = merkki; 332 return nappi; 333 } 334 335 Dictionary<char, List<PhysicsObject>> nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 336 337 PhysicsObject lisaaOviK() 338 { 339 return lisaaOvi('K', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 340 } 341 PhysicsObject lisaaOviL() 342 { 343 return lisaaOvi('L', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 344 } 345 PhysicsObject lisaaOviI() 346 { 347 return lisaaOvi('I', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 348 } 349 PhysicsObject lisaaOviQ() 350 { 351 return lisaaOvi('Q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 352 } 353 354 PhysicsObject lisaaOvi(char merkki, Color c, double x, double y) 355 { 356 PhysicsObject ovi = PhysicsObject.CreateStaticObject(x, y); 357 ovi.Color = c; 358 ovi.Tag = "Ovi"; 359 char napinMerkki = char.ToLower(merkki); 360 if (nappejaVastaavatOvet[napinMerkki] == null) 361 { 362 nappejaVastaavatOvet[napinMerkki] = new List<PhysicsObject>(); 363 } 364 nappejaVastaavatOvet[napinMerkki].Add(ovi); 365 return ovi; 366 } 367 121 368 PlatformCharacter lisaaPelaaja() 122 369 { 123 pelaaja1 = new PlatformCharacter(3 5, 50);370 pelaaja1 = new PlatformCharacter(30, 45); 124 371 pelaaja1.Mass = 4.0; 125 pelaaja1.Shape = Shape. Triangle;372 pelaaja1.Shape = Shape.FromImage(pelaajanKuva); 126 373 pelaaja1.Image = pelaajanKuva; 127 374 AddCollisionHandler(pelaaja1, osuTahteen); … … 160 407 { 161 408 maaliAani.Play(); 409 pisteLaskuri.Value += 5; 162 410 kohde.Destroy(); 163 411 } 412 413 else if (kohde.Tag.ToString() == "Ilkeä") 414 { 415 pelaaja1.Destroy(); 416 } 417 418 else if (kohde.Tag.ToString().Length == 1 && char.IsLower(kohde.Tag.ToString()[0])) 419 { 420 char napinMerkki = kohde.Tag.ToString()[0]; 421 List<PhysicsObject> ovet = nappejaVastaavatOvet[napinMerkki]; 422 foreach (var ovi in ovet) 423 { 424 TuhoaOvi(ovi); 425 Timer.SingleShot(2, delegate() { PalautaOvet(ovet); }); 426 } 427 } 428 } 429 void TuhoaOvi(PhysicsObject ovi) 430 { 431 ovi.IsVisible = false; 432 ovi.IgnoresCollisionResponse = true; 433 } 434 void PalautaOvet(List<PhysicsObject> ovet) 435 { 436 foreach (PhysicsObject ovi in ovet) 437 { 438 ovi.IsVisible = true; 439 ovi.IgnoresCollisionResponse = false; 440 } 164 441 } 165 442 } -
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.csproj
r1748 r1830 121 121 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 122 122 </Content> 123 <Content Include="kenttä2.txt"> 124 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 125 </Content> 123 126 </ItemGroup> 124 127 <ItemGroup> -
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kentta1.txt
r1748 r1830 9 9 ********************** 10 10 ********************** 11 ********************** 12 ********************** 13 ********************** 14 ********************** 15 ********************** 16 ********************** 17 ********************** 18 ********************** 19 ********************** 20 ********************** 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 11 51 12 52 … … 28 68 29 69 30 *31 ##32 33 * *34 ## ##35 36 * *37 ## ## ##38 39 * * * *40 ## ## ## ##41 42 * * * *43 ## ## ## ## ##70 * 71 ## 72 73 * * 74 ## ## 75 76 * * 77 ## ## ## 78 79 * * * * 80 ## ## ## ## 81 ^^ 82 * * * * 83 ## ## ## ## ## 44 84 45 85 N -
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj
r1748 r1830 43 43 </ItemGroup> 44 44 <ItemGroup> 45 <Compile Include="maali.wav">46 <Name>maali</Name>47 <Importer>WavImporter</Importer>48 <Processor>SoundEffectProcessor</Processor>49 </Compile>50 45 <Compile Include="norsu.png"> 51 46 <Name>norsu</Name> … … 73 68 </Compile> 74 69 </ItemGroup> 70 <ItemGroup> 71 <Compile Include="sped_up_yall_want_a_single-4lHPA2NUVb4_fmt18.mp3"> 72 <Name>sped_up_yall_want_a_single-4lHPA2NUVb4_fmt18</Name> 73 <Importer>Mp3Importer</Importer> 74 <Processor>SongProcessor</Processor> 75 </Compile> 76 </ItemGroup> 77 <ItemGroup> 78 <Compile Include="Coin Sound Effect.mp3"> 79 <Name>Coin Sound Effect</Name> 80 <Importer>Mp3Importer</Importer> 81 <Processor>SoundEffectProcessor</Processor> 82 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 83 </Compile> 84 </ItemGroup> 85 <ItemGroup> 86 <Compile Include="Nappi.png"> 87 <Name>Nappi</Name> 88 <Importer>TextureImporter</Importer> 89 <Processor>TextureProcessor</Processor> 90 </Compile> 91 </ItemGroup> 92 <ItemGroup> 93 <Compile Include="Musiikki.mp3"> 94 <Name>Musiikki</Name> 95 <Importer>Mp3Importer</Importer> 96 <Processor>SongProcessor</Processor> 97 </Compile> 98 </ItemGroup> 75 99 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 76 100 <!-- 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.