Changeset 3986
- Timestamp:
- 2013-06-05 20:27:04 (10 years ago)
- Location:
- 2013/23/LauriH/Peli_1/Peli_1
- Files:
-
- 8 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/23/LauriH/Peli_1/Peli_1/Peli_1/Peli_1.cs
r3979 r3986 10 10 { 11 11 PlatformCharacter Pelaaja; 12 PlatformCharacter Pelaaja2; 12 13 PlatformCharacter Vastustaja; 14 PlatformCharacter Vastustaja2; 15 PlatformCharacter PelaajanAlus; 16 PlatformCharacter Hyokkaaja; 17 18 PhysicsObject PAmmus; 19 PhysicsObject Ammus; 13 20 14 21 private Image [] VastustajanLiike = LoadImages("Vastustaja", "Vastustaja2", "Vastustaja3"); 15 22 Image PelaajanKuva = LoadImage("Pelaaja"); 23 Image HyokkaajanKuva = LoadImage("Hyokkaaja"); 24 Image AluksenKuva = LoadImage("Alus"); 25 Image AsteroidiKuva = LoadImage("Asteroidi"); 26 16 27 17 28 const double Nopeus = 200; 18 29 const double HyppyNopeus = 750; 30 const double NousuNopeus = 500; 31 const double LaskuNopeus = 500; 19 32 20 33 DoubleMeter elamaLaskuri; 21 34 IntMeter keratytPallot; 35 IntMeter TuhoLaskuri; 22 36 int kenttaNro = 1; 23 37 string kenttaTiedostonNimi; … … 25 39 public override void Begin() 26 40 { 27 // TODO: Kirjoita ohjelmakoodisi tähän28 29 41 Valikko(); 30 42 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); … … 35 47 ruudut.SetTileMethod('#', LuoPalikka); 36 48 ruudut.SetTileMethod('P', LuoPelaaja); 49 ruudut.SetTileMethod('p', LuoPelaaja2); 37 50 ruudut.SetTileMethod('?', LuoPallo); 38 51 ruudut.SetTileMethod('M', LuoMaali); 39 ruudut.SetTileMethod('-', LuoLiikkuvaPalikka);40 52 ruudut.SetTileMethod('O', LuoVastustaja); 53 ruudut.SetTileMethod('o', LuoVastustaja2); 54 ruudut.SetTileMethod('H', LuoHyokkaaja); 41 55 ruudut.Execute(20,20); 42 56 … … 72 86 { 73 87 TileMap ruudut = TileMap.FromLevelAsset("Taso_5"); 74 //ruudut.SetTileMethod(); 75 88 ruudut.SetTileMethod('A', LuoPelaajanAlus); 89 ruudut.SetTileMethod('H', LuoHyokkaaja); 90 ruudut.SetTileMethod('M', LuoAsteroidi); 91 ruudut.Execute(20, 20); 92 93 Level.CreateBottomBorder(); 94 Level.CreateTopBorder(); 95 Level.CreateLeftBorder(); 76 96 77 97 Camera.Follow(Pelaaja); 78 98 Camera.StayInLevel = true; 79 99 Laskurit(); 100 AsetaOhjaimet(); 80 101 } 81 102 … … 85 106 Add(alkuValikko); 86 107 87 alkuValikko.AddItemHandler(0, delegate { 88 kenttaNro = 1;89 SeuraavaKentta();90 });108 alkuValikko.AddItemHandler(0, delegate { kenttaNro = 1; SeuraavaKentta(); }); 109 alkuValikko.AddItemHandler(1, delegate { kenttaNro = 2; SeuraavaKentta(); }); 110 alkuValikko.AddItemHandler(2, delegate { kenttaNro = 3; SeuraavaKentta(); }); 111 alkuValikko.AddItemHandler(3, delegate { kenttaNro = 4; SeuraavaKentta(); }); 91 112 alkuValikko.AddItemHandler(4, LuoKentta5); 92 113 } … … 102 123 Add(Pelaaja); 103 124 } 104 125 126 void LuoPelaaja2(Vector paikka, double leveys, double korkeus) 127 { 128 Pelaaja2 = new PlatformCharacter(50, 50); 129 Pelaaja2.Position = paikka; 130 Pelaaja2.Image = PelaajanKuva; 131 AddCollisionHandler(Pelaaja2, "pallo", TormaaPalloon); 132 AddCollisionHandler(Pelaaja2, "Vastustaja", TormaaVastustajaan); 133 AddCollisionHandler(Pelaaja2, "Maali", TormaaMaaliin); 134 Add(Pelaaja); 135 Pelaaja2.Weapon = new LaserGun(10, 10); 136 Pelaaja2.Weapon.FireRate = 5.0; 137 138 139 } 140 141 void LuoPelaajanAlus(Vector paikka, double leveys, double korkeus) 142 { 143 PelaajanAlus = new PlatformCharacter(50, 50); 144 PelaajanAlus.Position = paikka; 145 PelaajanAlus.Image = AluksenKuva; 146 AddCollisionHandler(PelaajanAlus, "Ammus", TormaaAmmukseen); 147 AddCollisionHandler(Pelaaja, "Maali", TormaaMaaliin); 148 AddCollisionHandler(Pelaaja, "Asteroidi", TormaaAsteroidiin); 149 PelaajanAlus.Weapon = new LaserGun(10, 10); 150 PelaajanAlus.Weapon.FireRate = 5.0; 151 152 Add(PelaajanAlus); 153 154 } 155 156 void LuoHyokkaaja(Vector paikka, double leveys, double korkeus) 157 { 158 Hyokkaaja = new PlatformCharacter(50, 50); 159 Hyokkaaja.Position = paikka; 160 Hyokkaaja.Image = HyokkaajanKuva; 161 AddCollisionHandler(PAmmus, "Hyokkaaja", TormaaPAmmukseen); 162 Add(Hyokkaaja); 163 164 FollowerBrain seurausAivot = new FollowerBrain(); 165 seurausAivot.Speed = 200; 166 Vastustaja2.Brain = seurausAivot; 167 168 Hyokkaaja.Weapon = new LaserGun(10, 10); 169 Hyokkaaja.Weapon.FireRate = 5.0; 170 } 171 172 void LuoAsteroidi(Vector paikka, double leveys, double korkeus) 173 { 174 PhysicsObject Asteroidi = new PhysicsObject(30, 30); 175 Asteroidi.Position = paikka; 176 Asteroidi.Image = AsteroidiKuva; 177 Asteroidi.Tag = "Asteroidi"; 178 179 RandomMoverBrain HaahuiluAivot = new RandomMoverBrain(); 180 HaahuiluAivot.ChangeMovementSeconds = 3; 181 HaahuiluAivot.WanderRadius = 200; 182 Asteroidi.Brain = HaahuiluAivot; 183 184 185 186 } 187 105 188 void LuoPalikka(Vector paikka, double leveys, double korkeus) 106 189 { … … 109 192 Taso.Color = Color.Green; 110 193 Add(Taso); 111 }112 113 void LuoLiikkuvaPalikka(Vector paikka, double leveys, double korkeus)114 {115 PhysicsObject LiikkuvaTaso = PhysicsObject.CreateStaticObject(leveys, korkeus);116 LiikkuvaTaso.Position = paikka;117 LiikkuvaTaso.Color = Color.Green;118 Add(LiikkuvaTaso);119 120 List<Vector> polku = new List<Vector>();121 polku.Add(new Vector());122 polku.Add(new Vector());123 124 PathFollowerBrain pfb = new PathFollowerBrain(polku.ToArray());125 LiikkuvaTaso.Brain = pfb;126 pfb.Active = true;127 pfb.Speed = 100;128 194 } 129 195 … … 138 204 Add(pallo, 1); 139 205 206 pallo.IgnoresGravity = true; 207 pallo.IgnoresCollisionResponse = true; 208 140 209 } 141 210 … … 151 220 Vastustaja.Animation.Start(); 152 221 222 // Vastustaja2.Weapon = new LaserGun(10, 10); 223 153 224 PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 154 225 tasoAivot.Speed = 100; … … 157 228 158 229 230 } 231 232 void LuoVastustaja2(Vector paikka, double leveys, double korkeus) 233 { 234 Vastustaja2 = new PlatformCharacter(50, 50); 235 Vastustaja2.Position = paikka; 236 Vastustaja2.Animation = new Animation(VastustajanLiike); 237 Vastustaja2.Tag = "Vastustaja"; 238 239 Add(Vastustaja); 240 241 Vastustaja.Animation.Start(); 242 243 FollowerBrain seurausAivot = new FollowerBrain(); 244 seurausAivot.Speed = 200; 245 Vastustaja2.Brain = seurausAivot; 246 247 Vastustaja2.Weapon = new LaserGun(10, 10); 248 Vastustaja2.Weapon.FireRate = 5.0; 159 249 } 160 250 … … 171 261 void AsetaOhjaimet() 172 262 { 263 if(kenttaNro <= 2) 264 { 173 265 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 174 266 Keyboard.Listen(Key.Up, ButtonState.Pressed, PelaajaHyppaa, "Pelaaja hyppää", Pelaaja, HyppyNopeus); 175 267 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku oikealle", Pelaaja, Nopeus); 176 268 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku vasemmalle", Pelaaja, -Nopeus); 269 } 270 271 else if(kenttaNro == 3 && kenttaNro == 4) 272 { 273 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 274 Keyboard.Listen(Key.Up, ButtonState.Pressed, PelaajaHyppaa, "Pelaaja hyppää", Pelaaja, HyppyNopeus); 275 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku oikealle", Pelaaja, Nopeus); 276 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku vasemmalle", Pelaaja, -Nopeus); 277 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu vastustajaa", Pelaaja); 278 } 279 280 else if(kenttaNro == 5) 281 { 282 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 283 Keyboard.Listen(Key.Up, ButtonState.Down, SiirraPelaajaa, "Alus ylös", Pelaaja, 1.0); 284 Keyboard.Listen(Key.Escape, ButtonState.Down, SiirraPelaajaa, "Alus alas", Pelaaja, 1.0); 285 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Lopeta peli", Pelaaja); 286 } 177 287 } 178 288 … … 187 297 } 188 298 299 void SiirraPelaajaa(PlatformCharacter Pelaaja, double paikanSiirto) 300 { 301 Pelaaja.Position += new Vector(0, paikanSiirto); 302 } 303 304 305 void AmmuAseella(PlatformCharacter Pelaaja) 306 { 307 PhysicsObject ammus = Pelaaja.Weapon.Shoot(); 308 309 //if(ammus) 310 } 311 189 312 void Laskurit() 190 313 { 191 314 LuoElamaLaskuri(Screen.Left + 100, Screen.Top - 100); 192 315 keratytPallot = LuoPistelaskuri(Screen.Left + 100, Screen.Top - 200); 316 TuhoLaskuri = LuoTuholaskuri(Screen.Left + 100, Screen.Top - 300); 193 317 } 194 318 … … 232 356 } 233 357 358 IntMeter LuoTuholaskuri(double x, double y) 359 { 360 IntMeter laskuri = new IntMeter(0); 361 laskuri.MaxValue = 10; 362 363 Label naytto = new Label(); 364 naytto.BindTo(laskuri); 365 naytto.X = x; 366 naytto.Y = y; 367 naytto.TextColor = Color.Red; 368 naytto.BorderColor = Level.BackgroundColor; 369 naytto.Color = Level.BackgroundColor; 370 Add(naytto); 371 372 return laskuri; 373 } 374 234 375 void TormaaPalloon(PhysicsObject Pelaaja, PhysicsObject pallo) 235 376 { … … 259 400 } 260 401 } 402 403 void TormaaAmmukseen(PhysicsObject PelaajanAlus, PhysicsObject Ammus) 404 { 405 MessageDisplay.Add("Ai varo vähän!!!"); 406 elamaLaskuri.Value -= 1; 407 Ammus.Destroy(); 408 } 409 410 void TormaaPAmmukseen(PhysicsObject Hyokkaaja, PhysicsObject PAmmus) 411 { 412 MessageDisplay.Add("Ai varo vähän!!!"); 413 TuhoLaskuri.Value += 1; 414 Hyokkaaja.Destroy(); 415 } 416 417 void TormaaAsteroidiin(PhysicsObject PelaajanAlus, PhysicsObject Asteroidi) 418 { 419 Pelaaja.Destroy(); 420 SeuraavaKentta(); 421 } 261 422 262 423 } -
2013/23/LauriH/Peli_1/Peli_1/Peli_1Content/Peli_1Content.contentproj
r3979 r3986 87 87 </Compile> 88 88 </ItemGroup> 89 <ItemGroup> 90 <Compile Include="Taso_3.txt"> 91 <Name>Taso_3</Name> 92 <Importer>TextFileImporter</Importer> 93 <Processor>TextFileContentProcessor</Processor> 94 </Compile> 95 <Compile Include="Taso_4.txt"> 96 <Name>Taso_4</Name> 97 <Importer>TextFileImporter</Importer> 98 <Processor>TextFileContentProcessor</Processor> 99 </Compile> 100 <Compile Include="Taso_5.txt"> 101 <Name>Taso_5</Name> 102 <Importer>TextFileImporter</Importer> 103 <Processor>TextFileContentProcessor</Processor> 104 </Compile> 105 </ItemGroup> 106 <ItemGroup> 107 <Compile Include="Hyokkaaja.png"> 108 <Name>Hyokkaaja</Name> 109 <Importer>TextureImporter</Importer> 110 <Processor>TextureProcessor</Processor> 111 </Compile> 112 </ItemGroup> 113 <ItemGroup> 114 <Compile Include="Alus.png"> 115 <Name>Alus</Name> 116 <Importer>TextureImporter</Importer> 117 <Processor>TextureProcessor</Processor> 118 </Compile> 119 </ItemGroup> 120 <ItemGroup> 121 <Compile Include="Asteroidi.png"> 122 <Name>Asteroidi</Name> 123 <Importer>TextureImporter</Importer> 124 <Processor>TextureProcessor</Processor> 125 </Compile> 126 </ItemGroup> 89 127 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 90 128 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2013/23/LauriH/Peli_1/Peli_1/Peli_1Content/Taso_2.txt
r3979 r3986 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 15 2 16 3 O ? O ? O 17 4 ####### ############################################################## 18 5 19 ? 20 ------------ 6 ################### 7 8 9 21 10 22 11 ? … … 27 16 28 17 ? 29 ################# ?30 18 31 19 32 --------- 20 ################# 21 22 23 33 24 34 25 O ? 35 26 ########### ###################################### 27 M 28 M 36 29 M 37 30 O ### M … … 39 32 O O M 40 33 ############## ################################# 34 41 35 42 36 O ? ?
Note: See TracChangeset
for help on using the changeset viewer.