Changeset 1765
- Timestamp:
- 2011-06-08 16:31:13 (12 years ago)
- Location:
- 2011/23/vikeisal
- Files:
-
- 14 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/Peli.cs
r1741 r1765 10 10 public class Peli : PhysicsGame 11 11 { 12 const double nopeus = 500;12 const double nopeus = 200; 13 13 const double hyppyNopeus = 425; 14 14 const int RUUDUN_KOKO = 40; … … 20 20 Image TasoKuva = LoadImage("maa"); 21 21 Image TasoKuva2 = LoadImage("maa2"); 22 Image KolikkoKuva = LoadImage("enemy"); 22 23 SoundEffect voittoAani = LoadSoundEffect("victory"); 23 24 SoundEffect havioAani = LoadSoundEffect("lose"); 25 SoundEffect enemydie = LoadSoundEffect("enemydie"); 26 SoundEffect coinAani = LoadSoundEffect("coinaani"); 27 SoundEffect spydie = LoadSoundEffect("spydie"); 24 28 IntMeter pisteLaskuri; 25 29 30 List<Label> valikonKohdat; 31 32 26 33 27 34 public override void Begin() 28 35 { 36 Gravity = new Vector(0, -1250); 37 38 luoKentta(); 39 lisaaNappaimet(); 40 LuoLaskuri(); 41 42 Camera.Follow(pelaaja1); 43 Camera.ZoomFactor = 1.0; 44 Camera.StayInLevel = true; 45 Valikko(); 46 } 47 48 49 void Valikko() 50 { 51 ClearAll(); 52 53 valikonKohdat = new List<Label>(); 54 55 Label kohta1 = new Label("Aloita uusi peli"); 56 kohta1.Position = new Vector(0, 40); 57 valikonKohdat.Add(kohta1); 58 59 Label kohta2 = new Label("Lopeta"); 60 kohta2.Position = new Vector(0, -40); 61 valikonKohdat.Add(kohta2); 62 63 foreach (Label valikonKohta in valikonKohdat) 64 { 65 Add(valikonKohta); 66 } 67 68 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 69 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 70 71 Mouse.IsCursorVisible = true; 72 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 73 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 74 75 } 76 void ValikossaLiikkuminen(AnalogState hiirenTila) 77 { 78 foreach (Label kohta in valikonKohdat) 79 { 80 if (Mouse.IsCursorOn(kohta)) 81 { 82 kohta.TextColor = Color.Red; 83 } 84 else 85 { 86 kohta.TextColor = Color.White; 87 } 88 89 } 90 } 91 void AloitaPeli() 92 { 93 ClearAll(); 94 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 29 95 Gravity = new Vector(0, -1250); 30 96 LuoAikaLaskuri(); 31 97 luoKentta(); 32 98 lisaaNappaimet(); 33 99 LuoLaskuri(); 34 100 Camera.Follow(pelaaja1); 35 101 Camera.ZoomFactor = 1.0; … … 37 103 } 38 104 105 void Lopeta() 106 { 107 Exit(); 108 } 109 110 111 112 113 39 114 void luoKentta() 40 115 { 41 116 TileMap kentta = TileMap.FromFile("kentta1.txt"); 42 117 kentta['#'] = lisaaTaso; 43 kentta['*'] = lisaa Tahti;118 kentta['*'] = lisaaintelligents; 44 119 kentta['N'] = lisaaPelaaja; 45 120 kentta['M'] = lisaaVihollinen; 46 121 kentta['_'] = lisaaTappavaTaso; 47 122 kentta['-'] = lisaaTaso2; 123 kentta['.'] = lisaaKolikko; 48 124 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 49 125 Level.CreateBorders(); 50 126 Level.BackgroundColor = Color.Black; 51 Level.Background.CreateStars(); 52 127 Level.Background.CreateStars(); 53 128 } 54 129 PhysicsObject lisaaTaso2() … … 70 145 PhysicsObject TappavaTaso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Triangle); 71 146 TappavaTaso.Color = Color.Red; 72 TappavaTaso.Tag = "TappavaTaso"; 147 TappavaTaso.Tag = "TappavaTaso"; 73 148 return TappavaTaso; 74 149 } 75 PhysicsObject lisaaTahti() 76 { 77 PhysicsObject tahti = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO); 78 tahti.Image = tahtiKuva; 79 tahti.Tag = "intelligents"; 80 return tahti; 150 151 PhysicsObject lisaaintelligents() 152 { 153 PhysicsObject intelligents = PhysicsObject.CreateStaticObject(39.9, 30); 154 intelligents.Image = tahtiKuva; 155 intelligents.Tag = "intelligents"; 156 return intelligents; 157 } 158 159 PhysicsObject lisaaKolikko() 160 { 161 PhysicsObject kolikko = PhysicsObject.CreateStaticObject(10, 10); 162 kolikko.Image = LoadImage("coin3"); 163 kolikko.Tag = "kolikko"; 164 return kolikko; 81 165 } 82 166 … … 86 170 pelaaja1.Mass = 4.0; 87 171 pelaaja1.Image = pelaajanKuva; 172 pelaaja1.Weapon = new AssaultRifle(0, 5); 173 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 174 175 88 176 AddCollisionHandler(pelaaja1, osuTahteen); 89 177 return pelaaja1; 90 178 } 91 PhysicsObject lisaaVihollinen() 92 { 93 PhysicsObject vihollinen1 = PhysicsObject.CreateStaticObject(70, 60); 94 vihollinen1.Mass = 7.0; 95 vihollinen1.Image = vihollisenKuva; 96 return vihollinen1; 97 } 98 99 100 101 102 103 179 180 PhysicsObject lisaaVihollinen() 181 { 182 PhysicsObject vihollinen1 = new PhysicsObject(70, 60); 183 184 vihollinen1.Mass = 7.0; 185 AddCollisionHandler(vihollinen1, KasitteleVihollisenTormays); 186 vihollinen1.Tag = "vihollinen1"; 187 AssaultRifle pyssy = new AssaultRifle(20, 1); 188 vihollinen1.Add(pyssy); 189 Timer ajastin = new Timer(); 190 ajastin.Interval = 0.5; 191 //ajastin.Trigger += ; 192 ajastin.Start(); 193 194 vihollinen1.Image = vihollisenKuva; 195 Add(vihollinen1); 196 197 return vihollinen1; 198 } 104 199 105 200 void lisaaNappaimet() 106 201 { 107 202 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 108 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 203 109 204 110 205 Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 111 206 Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 112 207 Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 113 114 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 115 116 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 117 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 118 ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 208 Keyboard.Listen(Key.Space, ButtonState.Pressed, AmmuAseella, "Ammu"); 209 119 210 } 120 211 … … 132 223 { 133 224 if (kohde.Tag.ToString() == "intelligents") 134 { 135 MessageDisplay.Add("Kaappasit vihollisen tiedot!"); 225 { 136 226 kohde.Destroy(); 137 MessageDisplay.TextColor = Color.Green; 227 228 Label naytto = new Label("Kaappasit vihollisen tiedot!"); 229 naytto.Position = Vector.Zero; 230 naytto.TextColor = Color.Green; 231 Add(naytto); 138 232 voittoAani.Play(); 139 140 } 233 Valikko(); 234 } 235 141 236 if (kohde.Tag.ToString() == "TappavaTaso") 142 237 { 143 MessageDisplay.Add("GAME OVER! YOU FAILED!"); 144 MessageDisplay.TextColor = Color.Red; 238 239 Label naytto = new Label("GAME OVER! KUOLIT! YOU FAILED!"); 240 naytto.Position = Vector.Zero; 241 naytto.TextColor = Color.Red; 242 Add(naytto); 145 243 pelaaja1.Destroy(); 244 spydie.Play(); 146 245 havioAani.Play(); 246 Valikko(); 147 247 148 248 } 149 249 150 151 } 250 if (kohde.Tag.ToString() == "kolikko") 251 { 252 pisteLaskuri.Value = pisteLaskuri.Value + 1; 253 254 coinAani.Play(); 255 kohde.Destroy(); 256 } 257 } 258 152 259 void LuoAikaLaskuri() 153 260 { … … 160 267 161 268 Label aikaNaytto = new Label(); 269 aikaNaytto.X = Screen.Right + -50; 270 aikaNaytto.Y = Screen.Top + -50; 271 162 272 aikaNaytto.TextColor = Color.White; 163 273 aikaNaytto.DecimalPlaces = 1; … … 171 281 if (AlaspainLaskuri.Value <= 0) 172 282 { 173 MessageDisplay.Add("GAME OVER! YOU FAILED!");174 283 timer.Stop(); 175 MessageDisplay.TextColor = Color.Red; 284 Label naytto = new Label("GAME OVER! AIKASI LOPPUI! YOU FAILED!"); 285 naytto.Position = Vector.Zero; 286 naytto.TextColor = Color.Red; 287 Add(naytto); 176 288 pelaaja1.Destroy(); 177 289 havioAani.Play(); 178 } 179 } 290 Valikko(); 291 } 292 } 293 294 void KasitteleVihollisenTormays(PhysicsObject vihollinen1, PhysicsObject kohde) 295 { 296 if (kohde.Tag.ToString() == "TappavaTaso") 297 { 298 vihollinen1.Destroy(); 299 enemydie.Play(); 300 } 301 302 } 303 void LuoLaskuri() 304 { 305 pisteLaskuri = new IntMeter(0); 306 307 Label pisteNaytto = new Label(); 308 pisteNaytto.X = Screen.Left + 50; 309 pisteNaytto.Y = Screen.Top - 50; 310 pisteNaytto.TextColor = Color.Yellow; 311 312 pisteNaytto.BindTo(pisteLaskuri); 313 Add(pisteNaytto); 314 } 315 void AmmuAseella() 316 { 317 PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 318 319 if (ammus != null) 320 { 321 ammus.Size *= 1; 322 ammus.Color = Color.Yellow; 323 324 } 325 326 327 } 328 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 329 { 330 if (kohde.Tag.ToString() == "vihollinen1") 331 { 332 kohde.Destroy(); 333 enemydie.Play(); 334 ammus.Destroy(); 335 pisteLaskuri.Value = pisteLaskuri.Value + 5; 336 Explosion rajahdys = new Explosion(5); 337 rajahdys.Position = ammus.Position; 338 Add(rajahdys); 339 } 340 341 if (kohde.Tag.ToString() == "maa") 342 { 343 ammus.Destroy(); 344 Explosion rajahdys = new Explosion(5); 345 rajahdys.Position = ammus.Position; 346 Add(rajahdys); 347 } 348 if (kohde.Tag.ToString() == "maa2") 349 { 350 ammus.Destroy(); 351 Explosion rajahdys = new Explosion(5); 352 rajahdys.Position = ammus.Position; 353 Add(rajahdys); 354 } 355 356 } 357 void AmmuAseella2(Timer Sender) 358 { 359 //PhysicsObject ammus = pyssy.Shoot(); 360 361 //if (ammus != null) 362 { 363 //ammus.Size *= 1; 364 } 365 366 } 367 368 369 370 371 372 373 public PhysicsObject vihollinen1 { get; set; } 374 375 public Image kolikkoKuva { get; set; } 180 376 181 377 -
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/kentta1.txt
r1741 r1765 1 1 2 3 4 5 6 7 8 9 10 11 12 13 - 14 # 15 # 16 *# 17 -# 18 - -## 19 - -#- - -### 20 N -#- M M -###- M -# - M M -#### 21 -----------------###-------------------------------#####---------- ------------------------##- - - - #-------------------------------- 22 ##################################################################___###########################__#__#__#__################################# 2 - 3 # 4 # 5 *# 6 . .-# 7 . .-. . .-## 8 .-. .-#-. .- . .-### 9 N .-#-. M M .-###-. . . M .-#. . M . -. M M .-#### 10 -----------------###-------------------------------#####---------- ------------------------##- - - - #---------------------------##### 11 ##################################################################__###########################__#__#__#__################################# -
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBaseContent/SpyInTheBaseContent.contentproj
r1741 r1765 43 43 </ItemGroup> 44 44 <ItemGroup> 45 <Compile Include="intelligents.png">46 <Name>intelligents</Name>47 <Importer>TextureImporter</Importer>48 <Processor>TextureProcessor</Processor>49 </Compile>50 </ItemGroup>51 <ItemGroup>52 <Compile Include="spy.png">53 <Name>spy</Name>54 <Importer>TextureImporter</Importer>55 <Processor>TextureProcessor</Processor>56 </Compile>57 </ItemGroup>58 <ItemGroup>59 45 <Compile Include="victory.wav"> 60 46 <Name>victory</Name> … … 78 64 </ItemGroup> 79 65 <ItemGroup> 80 <Compile Include="enemy.png">81 <Name>enemy</Name>82 <Importer>TextureImporter</Importer>83 <Processor>TextureProcessor</Processor>84 </Compile>85 </ItemGroup>86 <ItemGroup>87 66 <Compile Include="taivas.png"> 88 67 <Name>taivas</Name> … … 98 77 </Compile> 99 78 </ItemGroup> 79 <ItemGroup> 80 <Compile Include="enemydie.wav"> 81 <Name>enemydie</Name> 82 <Importer>WavImporter</Importer> 83 <Processor>SoundEffectProcessor</Processor> 84 </Compile> 85 </ItemGroup> 86 <ItemGroup> 87 <Compile Include="coin2.png"> 88 <Name>coin2</Name> 89 <Importer>TextureImporter</Importer> 90 <Processor>TextureProcessor</Processor> 91 </Compile> 92 </ItemGroup> 93 <ItemGroup> 94 <Compile Include="coin3.png"> 95 <Name>coin3</Name> 96 <Importer>TextureImporter</Importer> 97 <Processor>TextureProcessor</Processor> 98 </Compile> 99 </ItemGroup> 100 <ItemGroup> 101 <Compile Include="coinaani.wav"> 102 <Name>coinaani</Name> 103 <Importer>WavImporter</Importer> 104 <Processor>SoundEffectProcessor</Processor> 105 </Compile> 106 </ItemGroup> 107 <ItemGroup> 108 <Compile Include="spy.png"> 109 <Name>spy</Name> 110 <Importer>TextureImporter</Importer> 111 <Processor>TextureProcessor</Processor> 112 </Compile> 113 </ItemGroup> 114 <ItemGroup> 115 <Compile Include="intelligents.png"> 116 <Name>intelligents</Name> 117 <Importer>TextureImporter</Importer> 118 <Processor>TextureProcessor</Processor> 119 </Compile> 120 </ItemGroup> 121 <ItemGroup> 122 <Compile Include="enemy.png"> 123 <Name>enemy</Name> 124 <Importer>TextureImporter</Importer> 125 <Processor>TextureProcessor</Processor> 126 </Compile> 127 </ItemGroup> 128 <ItemGroup> 129 <Compile Include="spydie.wav"> 130 <Name>spydie</Name> 131 <Importer>WavImporter</Importer> 132 <Processor>SoundEffectProcessor</Processor> 133 </Compile> 134 </ItemGroup> 100 135 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 101 136 <!-- 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.