- Timestamp:
- 2013-06-27 14:55:09 (10 years ago)
- Location:
- 2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli
- Files:
-
- 9 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen_Peli.cs
r4237 r4272 11 11 IntMeter nopeus; 12 12 IntMeter hyppyNopeus; 13 IntMeter tähtilaskuri; 14 IntMeter avainlaskuri; 13 15 const int RUUDUN_KOKO = 40; 14 16 … … 25 27 Image tyyppiLyoKuva = LoadImage("TyyppiLyo"); 26 28 Image nyrkkikuva = LoadImage("Nyrkki"); 29 Image maali1 = LoadImage("Maali2"); 30 Image piikki2 = LoadImage("piikit"); 31 Image avain2 = LoadImage("avain"); 32 Image LukkoKuva = LoadImage("lukko"); 33 Image SeinaKuva = LoadImage("seina"); 27 34 28 35 SoundEffect maaliAani = LoadSoundEffect("maali"); 29 36 DoubleMeter elamaLaskuri; 30 37 38 int kenttaNro = 1; 39 31 40 public override void Begin() 32 41 { 33 AloitaPeli();34 } 35 36 public void AloitaPeli()42 SeuraavaKentta(); 43 } 44 45 void SeuraavaKentta() 37 46 { 38 47 nopeus = new IntMeter(200); 39 48 hyppyNopeus = new IntMeter(700); 49 tähtilaskuri = new IntMeter(0); 50 avainlaskuri = new IntMeter(0); 40 51 41 52 ClearAll(); … … 43 54 LuoElamaLaskuri(); 44 55 45 LuoKentta(); 56 if (kenttaNro == 1) LuoKentta("kentta1"); 57 else if (kenttaNro == 2) LuoKentta("kentta2"); 58 else if (kenttaNro == 3) LuoKentta("Kentta3"); 59 else if (kenttaNro == 4) 60 { 61 LuoKentta("kentta4"); 62 Level.Background.CreateGradient(Color.Black, Color.LightGray); 63 } 64 else Exit(); 65 46 66 LisaaNappaimet(); 47 67 Camera.Follow(pelaaja1); … … 50 70 MediaPlayer.Play("GroundTheme"); 51 71 MediaPlayer.IsRepeating = true; 52 MediaPlayer.Volume = 0. 2;53 } 54 55 void LuoKentta( )56 { 57 ColorTileMap kentta = ColorTileMap.FromLevelAsset( "kentta1");72 MediaPlayer.Volume = 0.7; 73 } 74 75 void LuoKentta(string kentanNimi) 76 { 77 ColorTileMap kentta = ColorTileMap.FromLevelAsset(kentanNimi); 58 78 kentta.SetTileMethod(Color.Black, LisaaTaso); 79 kentta.SetTileMethod("C0C0C0", LisaaMetalli); 59 80 kentta.SetTileMethod("FFD800", LisaaTahti); 60 81 kentta.SetTileMethod("4CFF00", LisaaPelaaja); … … 63 84 kentta.SetTileMethod("B6FF00", LisaaRuoho); 64 85 kentta.SetTileMethod("404040", Palikka3); 86 kentta.SetTileMethod("FF006E", Maali); 87 kentta.SetTileMethod("808080", Piikki); 88 kentta.SetTileMethod("0094FF", LisaaAvain); 89 kentta.SetTileMethod("4800FF", LisaaLukko); 90 kentta.SetTileMethod("FF00DC", LisaaSeina); 91 kentta.SetTileMethod("FF7FED", LisaaVaakaSeina); 92 65 93 //kentta.SetTileMethod("") 66 94 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 67 95 Level.Background.CreateGradient(Color.White, Color.SkyBlue); 96 97 Label pisteNaytto = new Label(); 98 pisteNaytto.X = Screen.Right - 100; 99 pisteNaytto.Y = Screen.Top - 100; 100 pisteNaytto.TextColor = Color.Black; 101 pisteNaytto.Color = Color.Transparent; 102 103 pisteNaytto.BindTo(tähtilaskuri); 104 Add(pisteNaytto); 105 } 106 107 void LisaaSeina(Vector paikka, double leveys, double korkeus) 108 { 109 PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus * 2); 110 seina.Position = paikka; 111 seina.Y -= korkeus/2; 112 seina.Image = SeinaKuva; 113 seina.Tag = "Seina"; 114 Add(seina); 115 } 116 117 void LisaaVaakaSeina(Vector paikka, double leveys, double korkeus) 118 { 119 PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus * 2); 120 seina.Angle = Angle.FromDegrees(90); 121 seina.Position = paikka; 122 seina.X += leveys / 2; 123 seina.Image = SeinaKuva; 124 seina.Tag = "Seina"; 125 Add(seina); 126 } 127 128 void LisaaLukko(Vector paikka, double leveys, double korkeus) 129 { 130 PhysicsObject lukko = PhysicsObject.CreateStaticObject(leveys, korkeus); 131 lukko.Position = paikka; 132 lukko.Image = LukkoKuva; 133 lukko.Tag = "Lukko"; 134 Add(lukko); 135 } 136 137 void LisaaAvain(Vector paikka, double leveys, double korkeus) 138 { 139 PhysicsObject avain = PhysicsObject.CreateStaticObject(leveys, korkeus); 140 avain.IgnoresCollisionResponse = true; 141 avain.Position = paikka; 142 avain.Image = avain2; 143 avain.Tag = "Avain"; 144 Add(avain); 145 } 146 147 void Piikki(Vector paikka, double leveys, double korkeus) 148 { 149 PhysicsObject piikki1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 150 piikki1.Position = paikka; 151 piikki1.Image = piikki2; 152 piikki1.Tag = "Piikki"; 153 Add(piikki1); 68 154 } 69 155 … … 100 186 void ElamaLoppui() 101 187 { 102 MessageDisplay.Add("Elämät loppuivat , voi voi.");188 MessageDisplay.Add("Elämät loppuivat."); 103 189 pelaaja1.Position = alkupiste; 104 190 elamaLaskuri.Value = elamaLaskuri.MaxValue; … … 120 206 taso.Position = paikka; 121 207 taso.Color = Color.Brown; 208 Add(taso); 209 } 210 211 void LisaaMetalli(Vector paikka, double leveys, double korkeus) 212 { 213 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 214 taso.Position = paikka; 215 taso.Color = Color.Gray; 122 216 Add(taso); 123 217 } … … 153 247 AddCollisionHandler(pelaaja1, "palikka", TormaaPalikkaan); 154 248 AddCollisionHandler(pelaaja1, "pahis", CollisionHandler.AddMeterValue(elamaLaskuri, -1)); 249 AddCollisionHandler(pelaaja1, "maali", TormasiMaaliin); 250 AddCollisionHandler(pelaaja1, "Piikki", TormasiPiikkiin); 251 AddCollisionHandler(pelaaja1, "Avain", TormasiAvaimeen); 252 AddCollisionHandler(pelaaja1, "Seina", TormasiSeinaan); 155 253 Add(pelaaja1); 156 254 } 255 256 void TormasiSeinaan(PhysicsObject hahmo, PhysicsObject seina) 257 { 258 if (avainlaskuri.Value > 0) 259 { 260 seina.Destroy(); 261 avainlaskuri.Value--; 262 } 263 } 264 265 void TormasiAvaimeen(PhysicsObject hahmo, PhysicsObject avain) 266 { 267 maaliAani.Play(); 268 avain.Destroy(); 269 avainlaskuri.Value++; 270 } 271 272 void TormasiPiikkiin(PhysicsObject pelaaja, PhysicsObject maali) 273 { 274 ElamaLoppui(); 275 } 276 277 void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 278 { 279 //Kasvatetaan kenttänumeroa yhdellä ja siirrytään seuraavaan kenttään: 280 kenttaNro++; 281 SeuraavaKentta(); 282 } 283 284 void Maali(Vector paikka, double leveys, double korkeus) 285 { 286 PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 287 maali.Image = maali1; 288 maali.Position = paikka; 289 maali.Tag = "maali"; 290 Add(maali); 291 } 292 157 293 158 294 void LisaaNappaimet() … … 160 296 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 161 297 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 162 Keyboard.Listen(Key.R, ButtonState.Pressed, AloitaPeli, "Pelaa Uudestaan");298 Keyboard.Listen(Key.R, ButtonState.Pressed, SeuraavaKentta, "Pelaa Uudestaan"); 163 299 164 300 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus, -1); … … 213 349 maaliAani.Play(); 214 350 tahti.Destroy(); 351 tähtilaskuri.Value++; 215 352 } 216 353 … … 219 356 maaliAani.Play(); 220 357 palikka.Destroy(); 221 nopeus.Value += 200; 222 hyppyNopeus.Value += 100; 223 MessageDisplay.Add("Nopeus&HyppyNopeus suurempi 30s"); 224 Timer.SingleShot(30, PalautaNopeus); 358 hyppyNopeus.Value += 200; 359 MessageDisplay.Add("Super Hyppy"); 360 Timer.SingleShot(60, PalautaNopeus); 225 361 } 226 362 227 363 void PalautaNopeus() 228 364 { 229 nopeus.Value -= 200;230 365 hyppyNopeus.Value -= 100; 231 366 } -
2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen PeliContent/Ensimmäinen PeliContent.contentproj
r4237 r4272 70 70 </ItemGroup> 71 71 <ItemGroup> 72 <Compile Include="kentta 1.png">73 <Name>kentta 1</Name>72 <Compile Include="kentta2.png"> 73 <Name>kentta2</Name> 74 74 <Importer>TextureImporter</Importer> 75 75 <Processor>TextureProcessor</Processor> … … 118 118 </Compile> 119 119 </ItemGroup> 120 <ItemGroup> 121 <Compile Include="Maali2.png"> 122 <Name>Maali2</Name> 123 <Importer>TextureImporter</Importer> 124 <Processor>TextureProcessor</Processor> 125 </Compile> 126 </ItemGroup> 127 <ItemGroup> 128 <Compile Include="kentta1.png"> 129 <Name>kentta1</Name> 130 <Importer>TextureImporter</Importer> 131 <Processor>TextureProcessor</Processor> 132 </Compile> 133 </ItemGroup> 134 <ItemGroup> 135 <Compile Include="Kentta3.png"> 136 <Name>Kentta3</Name> 137 <Importer>TextureImporter</Importer> 138 <Processor>TextureProcessor</Processor> 139 </Compile> 140 </ItemGroup> 141 <ItemGroup> 142 <Compile Include="piikit.png"> 143 <Name>piikit</Name> 144 <Importer>TextureImporter</Importer> 145 <Processor>TextureProcessor</Processor> 146 </Compile> 147 </ItemGroup> 148 <ItemGroup> 149 <Compile Include="kentta4.png"> 150 <Name>kentta4</Name> 151 <Importer>TextureImporter</Importer> 152 <Processor>TextureProcessor</Processor> 153 </Compile> 154 </ItemGroup> 155 <ItemGroup> 156 <Compile Include="avain.png"> 157 <Name>avain</Name> 158 <Importer>TextureImporter</Importer> 159 <Processor>TextureProcessor</Processor> 160 </Compile> 161 </ItemGroup> 162 <ItemGroup> 163 <Compile Include="lukko.png"> 164 <Name>lukko</Name> 165 <Importer>TextureImporter</Importer> 166 <Processor>TextureProcessor</Processor> 167 </Compile> 168 </ItemGroup> 169 <ItemGroup> 170 <Compile Include="seina.png"> 171 <Name>seina</Name> 172 <Importer>TextureImporter</Importer> 173 <Processor>TextureProcessor</Processor> 174 </Compile> 175 </ItemGroup> 120 176 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 121 177 <!-- 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.