Changeset 5304
- Timestamp:
- 2014-07-02 15:04:12 (9 years ago)
- Location:
- 2014/27/OttoR/GrazyGunFighters
- Files:
-
- 4 added
- 1 deleted
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters.cs
r5283 r5304 10 10 public class GrazyGunFighters : PhysicsGame 11 11 { 12 12 13 13 private Animation soltunkävely; 14 14 private Animation soltunkävely2; 15 15 private Animation seiso1; 16 16 private Animation seiso2; 17 17 18 DoubleMeter elamaLaskuri; 19 DoubleMeter elamaLaskuri2; 20 21 IntMeter pisteLaskuri; 22 IntMeter pisteLaskuri2; 23 18 24 const double nopeus = 147; 19 25 const double hyppyNopeus = 720; … … 27 33 AssaultRifle pelaajan2Ase; 28 34 35 29 36 30 37 Image pelikuva = LoadImage("Solttu2"); 31 Image pelaajankuva = LoadImage("Solttu" ); 32 Image tahtiKuva = LoadImage("tahti"); 38 Image pelaajankuva = LoadImage("Solttu"); 33 39 Image taustaKuva = LoadImage("taustakuva"); 34 40 Image tasokuva = LoadImage("vesi"); 35 41 Image atasokuva = LoadImage("lankku"); 36 37 38 39 42 Image btasokuva = LoadImage("metalli"); 43 Image putkipommi = LoadImage("putkipommi"); 44 45 Vector alkupaikka1; 46 Vector alkupaikka2; 40 47 41 48 public override void Begin() 42 49 { 50 LuoAlkuvalikko(); 51 } 52 53 void aloitapeli1() 54 { 43 55 MediaPlayer.Play("taustamusa"); 44 56 45 57 58 LuoElamaLaskuri(); 59 LuoElamaLaskuri2(); 46 60 47 61 soltunkävely = LoadAnimation("Solttu1 animaatio"); … … 54 68 LisaaNappaimet(); 55 69 56 70 LuoPistelaskuri(); 71 LuoPistelaskuri2(); 72 57 73 Camera.ZoomFactor = -30.0; 58 74 Camera.StayInLevel = true; 59 75 } 60 76 77 void LuoPistelaskuri() 78 { 79 pisteLaskuri = new IntMeter(0); 80 81 Label pisteNaytto = new Label(); 82 pisteNaytto.X = Screen.Left + 750; 83 pisteNaytto.Y = Screen.Top - 100; 84 pisteNaytto.TextColor = Color.White; 85 pisteNaytto.Color = Color.Blue; 86 87 pisteNaytto.BindTo(pisteLaskuri); 88 Add(pisteNaytto); 89 } 90 91 void LuoPistelaskuri2() 92 { 93 pisteLaskuri2 = new IntMeter(0); 94 95 Label pisteNaytto = new Label(); 96 pisteNaytto.X = Screen.Right - 750; 97 pisteNaytto.Y = Screen.Top - 100; 98 pisteNaytto.TextColor = Color.White; 99 pisteNaytto.Color = Color.Red; 100 101 pisteNaytto.BindTo(pisteLaskuri2); 102 Add(pisteNaytto); 103 } 104 105 void LuoElamaLaskuri() 106 { 107 elamaLaskuri = new DoubleMeter(100); 108 elamaLaskuri.MaxValue = 100; 109 elamaLaskuri.LowerLimit += ElamaLoppui; 110 111 ProgressBar elamaPalkki = new ProgressBar(500, 20); 112 elamaPalkki.X = Screen.Right - 350; 113 elamaPalkki.Y = Screen.Top - 1050; 114 elamaPalkki.BindTo(elamaLaskuri); 115 116 //Taustaväri: 117 elamaPalkki.Color = Color.Red; 118 119 //Palkin väri: 120 elamaPalkki.BarColor = Color.Green; 121 122 //Reunan väri: 123 elamaPalkki.BorderColor = Color.Black; 124 125 126 Add(elamaPalkki); 127 } 128 129 void ElamaLoppui2() 130 { 131 pisteLaskuri2.Value++; 132 pelaaja2.Position = alkupaikka2; 133 elamaLaskuri2.Value = 100; 134 } 135 136 void ElamaLoppui() 137 { 138 pisteLaskuri.Value++; 139 140 pelaaja1.Position = alkupaikka1; 141 elamaLaskuri.Value = 100; 142 } 143 144 void LuoElamaLaskuri2() 145 { 146 elamaLaskuri2 = new DoubleMeter(100); 147 elamaLaskuri2.MaxValue = 100; 148 elamaLaskuri2.LowerLimit += ElamaLoppui2; 149 150 ProgressBar elamaPalkki2 = new ProgressBar(500, 20); 151 elamaPalkki2.X = Screen.Left + 350; 152 elamaPalkki2.Y = Screen.Top - 1050; 153 elamaPalkki2.BindTo(elamaLaskuri2); 154 155 //Taustaväri: 156 elamaPalkki2.Color = Color.Red; 157 158 //Palkin väri: 159 elamaPalkki2.BarColor = Color.Green; 160 161 //Reunan väri: 162 elamaPalkki2.BorderColor = Color.Black; 163 164 165 Add(elamaPalkki2); 166 } 61 167 62 168 void HeitaKranaatti(PlatformCharacter pelaaja) 63 169 { 64 Grenade kranu = new Grenade( 8.0);170 Grenade kranu = new Grenade(10.0); 65 171 pelaaja.Throw(kranu, Angle.FromDegrees(40), 10500); 66 172 kranu.Explosion.MaxRadius = 96; 67 173 kranu.Explosion.AddShockwaveHandler("vihollinen", KranaattiOsui); 68 kranu.CollisionIgnoreGroup = 2; 174 kranu.CollisionIgnoreGroup = 1; 175 kranu.Image = putkipommi; 176 } 177 178 void Teevahinkoa(IPhysicsObject kohde, double määrä) 179 { 180 if (kohde == pelaaja1) 181 { 182 elamaLaskuri.Value -= määrä; 183 } 184 else 185 { 186 elamaLaskuri2.Value -= määrä; 187 } 69 188 } 70 189 71 190 void KranaattiOsui(IPhysicsObject rajahdyksenKohde, Vector v) 72 191 { 73 rajahdyksenKohde.Destroy(); 74 } 75 76 192 Teevahinkoa(rajahdyksenKohde, 30); 193 } 194 195 void RäjähdysOsui(IPhysicsObject rajahdyksenKohde, Vector v) 196 { 197 Teevahinkoa(rajahdyksenKohde, 15); 198 } 199 200 77 201 void LuoKentta() 78 202 { … … 87 211 Level.CreateBorders(); 88 212 Level.Background.CreateGradient(Color.White, Color.SkyBlue); 89 Level.Background.Image = taustaKuva; 90 } 91 92 93 213 214 } 215 216 217 94 218 95 219 96 220 void LisaaTaso(Vector paikka, double leveys, double korkeus) 97 221 { 98 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);222 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 99 223 taso.Position = paikka; 100 224 taso.Size = new Vector(40, 40); … … 112 236 taso3.Color = Color.Blue; 113 237 taso3.CollisionIgnoreGroup = 1; 114 taso3.CollisionIgnoreGroup = 2; 115 Add(taso3,1); 116 238 taso3.Tag = "myrkky"; 239 240 Add(taso3, 1); 241 117 242 } 118 243 … … 122 247 tahti.IgnoresCollisionResponse = true; 123 248 tahti.Position = paikka; 124 tahti.Image = tahtiKuva; 125 tahti.Tag = "tahti"; 249 126 250 Add(tahti); 127 251 } … … 132 256 taso.Size = new Vector(40, 23); 133 257 taso.Color = Color.Gray; 258 taso.Image = btasokuva; 134 259 Add(taso); 135 260 } … … 146 271 pelaaja1.CollisionIgnoreGroup = 1; 147 272 273 alkupaikka1 = paikka; 274 148 275 pelaajan1Ase = new AssaultRifle(30, 10); 149 276 pelaajan1Ase.Y = 10; 150 277 pelaajan1Ase.IsVisible = false; 151 278 152 //Ammusten määrä aluksi:153 279 pelaajan1Ase.InfiniteAmmo = true; 154 155 //Mitä tapahtuu kun ammus osuu johonkin?156 280 pelaajan1Ase.ProjectileCollision = AmmusOsui; 281 pelaajan1Ase.FireRate = 1; 157 282 158 283 pelaaja1.Add(pelaajan1Ase); 159 284 160 285 161 286 Add(pelaaja1); 162 287 163 288 AddCollisionHandler(pelaaja1, "myrkky", PelaajaOsuiMyrkkyyn); 164 289 165 290 } … … 176 301 pelaaja2.Tag = "vihollinen"; 177 302 pelaaja2.CollisionIgnoreGroup = 1; 178 303 304 alkupaikka2 = paikka; 305 179 306 pelaajan2Ase = new AssaultRifle(30, 10); 180 307 pelaajan2Ase.Y = 10; … … 182 309 //Ammusten määrä aluksi: 183 310 pelaajan2Ase.InfiniteAmmo = true; 184 311 pelaajan2Ase.FireRate = 1; 185 312 //Mitä tapahtuu kun ammus osuu johonkin? 186 313 pelaajan2Ase.ProjectileCollision = AmmusOsui; … … 190 317 191 318 Add(pelaaja2); 192 193 319 AddCollisionHandler(pelaaja2, "myrkky", PelaajaOsuiMyrkkyyn); 320 321 } 322 323 324 void PelaajaOsuiMyrkkyyn(PhysicsObject pelaaja, PhysicsObject myrkky) 325 { 326 if (myrkky.Tag.Equals("myrkky")) 327 { 328 329 } 194 330 } 195 331 … … 197 333 { 198 334 ammus.Destroy(); 335 Explosion räjähdys = new Explosion(50); 336 räjähdys.Position = ammus.Position; 337 räjähdys.AddShockwaveHandler("vihollinen", RäjähdysOsui); 338 Add(räjähdys); 199 339 } 200 340 … … 223 363 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 224 364 225 Keyboard.Listen(Key.Delete, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1, pelaajan1Ase);226 227 Keyboard.Listen(Key.D1, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2, pelaajan2Ase);365 Keyboard.Listen(Key.Delete, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1, pelaajan1Ase); 366 367 Keyboard.Listen(Key.D1, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2, pelaajan2Ase); 228 368 229 369 … … 243 383 if (ammus != null) 244 384 { 245 ammus.Size *= 2; 246 ammus.Image = LoadImage ("ammus"); 385 ammus.X += pelaaja.FacingDirection.GetVector().X * 30; 386 ammus.CollisionIgnoreGroup = 0; 387 ammus.Size *= 1.5; 388 ammus.Image = LoadImage("ammus"); 247 389 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 248 390 … … 254 396 { 255 397 hahmo.Walk(nopeus); 256 257 258 259 398 399 400 401 402 403 } 404 void LuoAlkuvalikko() 405 { 406 407 MultiSelectWindow alkuValikko = new MultiSelectWindow("GrazyGunFighters", 408 "Deathmatch", "Exit"); 409 alkuValikko.AddItemHandler(0, aloitapeli1); 410 alkuValikko.AddItemHandler(1, Exit); 411 412 413 Add(alkuValikko); 260 414 261 415 } … … 268 422 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 269 423 { 270 424 271 425 MessageDisplay.Add("Keräsit tähden!"); 272 426 tahti.Destroy(); 273 427 } 274 428 275 429 276 430 277 431 } -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters.csproj.Debug.cachefile
r5283 r5304 22 22 Content\seiso2\Solttu2_0.xnb 23 23 Content\ammus.xnb 24 Content\metalli.xnb 25 Content\putkipommi.xnb 24 26 Content\taustamusa.wma -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters/obj/x86/Debug/ContentPipeline-{DD67BAE4-E735-4BE9-A36E-568B0F9EC985}.xml
r5283 r5304 45 45 <Options>None</Options> 46 46 <Output>C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\kentta1.xnb</Output> 47 <Time>2014-07-02T1 0:38:00.7737505+03:00</Time>47 <Time>2014-07-02T14:45:32.9371863+03:00</Time> 48 48 </Item> 49 49 <Item> … … 209 209 <Output>C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\ammus.xnb</Output> 210 210 <Time>2014-07-02T10:35:31.1592149+03:00</Time> 211 </Item> 212 <Item> 213 <Source>metalli.png</Source> 214 <Name>metalli</Name> 215 <Importer>TextureImporter</Importer> 216 <Processor>TextureProcessor</Processor> 217 <Options>None</Options> 218 <Output>C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\metalli.xnb</Output> 219 <Time>2014-07-02T13:00:46.3797435+03:00</Time> 220 </Item> 221 <Item> 222 <Source>putkipommi.png</Source> 223 <Name>putkipommi</Name> 224 <Importer>TextureImporter</Importer> 225 <Processor>TextureProcessor</Processor> 226 <Options>None</Options> 227 <Output>C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\putkipommi.xnb</Output> 228 <Time>2014-07-02T13:43:13.2897418+03:00</Time> 211 229 </Item> 212 230 <BuildSuccessful>true</BuildSuccessful> -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters/obj/x86/Debug/GrazyGunFighters.csproj.FileListAbsolute.txt
r5283 r5304 31 31 C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\seiso2\Solttu2_0.xnb 32 32 C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\ammus.xnb 33 C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\metalli.xnb 34 C:\MyTemp\OttoR\GrazyGunFighters\GrazyGunFighters\GrazyGunFighters\bin\x86\Debug\Content\putkipommi.xnb -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFighters/obj/x86/Debug/cachefile-{DD67BAE4-E735-4BE9-A36E-568B0F9EC985}-targetpath.txt
r5283 r5304 23 23 Content\seiso2\Solttu2_0.xnb 24 24 Content\ammus.xnb 25 Content\metalli.xnb 26 Content\putkipommi.xnb -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFightersContent/GrazyGunFightersContent.contentproj
r5283 r5304 146 146 </Compile> 147 147 </ItemGroup> 148 <ItemGroup> 149 <Compile Include="metalli.png"> 150 <Name>metalli</Name> 151 <Importer>TextureImporter</Importer> 152 <Processor>TextureProcessor</Processor> 153 </Compile> 154 </ItemGroup> 155 <ItemGroup> 156 <Compile Include="putkipommi.png"> 157 <Name>putkipommi</Name> 158 <Importer>TextureImporter</Importer> 159 <Processor>TextureProcessor</Processor> 160 </Compile> 161 </ItemGroup> 148 162 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 149 163 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2014/27/OttoR/GrazyGunFighters/GrazyGunFighters/GrazyGunFightersContent/kentta1.txt
r5283 r5304 1 ## ##2 ## ##3 ## - ### #--##4 ## ##5 ##- #- ##6 ## ### #- --#####7 ## ### - ##8 ## R#9 ###- ### #-----# ##10 ### # 11 ## # -### --## ####12 ## # B ##13 ############-- --####### ####14 ###EEEEEE################1 ## ## 2 ## R ## 3 ## - ###-- --## 4 ## ## 5 ##- #-- ## 6 ## ###-- --#### ## 7 ## ### --# 8 ## ## 9 ###- ###- ---# ## 10 ### ## 11 ## -####-- -## #### 12 ## B ## 13 ###########-- -### ## 14 ###########EEEEEEEEEEEEE########
Note: See TracChangeset
for help on using the changeset viewer.