Changeset 6340
- Timestamp:
- 2015-06-25 11:51:08 (8 years ago)
- Location:
- 2015/26/AtteK/Tasohyppelypeli
- Files:
-
- 24 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli.cs
r6265 r6340 15 15 16 16 PlatformCharacter pelaaja1; 17 int kenttänumero = 1; 17 IntMeter yrityslaskuri=new IntMeter(0); 18 IntMeter kolikkolaskuri = new IntMeter(0); 19 20 21 int kenttänumero = 2; 22 23 Image tankkikuva = LoadImage("tankki"); 24 Image ammuskuva = LoadImage("Ammus"); 18 25 Image donitsikuva = LoadImage("Donitsi"); 19 26 Image[] PoliisiAtt = LoadImages("Polisi", "Polisiattack"); … … 41 48 aloitapeli(); 42 49 } 50 void LuoPistelaskuri() 51 { 52 Label YritysNaytto = new Label(); 53 YritysNaytto.X = Screen.Left + 200; 54 YritysNaytto.Y = Screen.Top - 100; 55 YritysNaytto.TextColor = Color.White; 56 YritysNaytto.TextScale *= 3; 57 YritysNaytto.IntFormatString = "yritykset {0}"; 58 YritysNaytto.BindTo(yrityslaskuri); 59 Add(YritysNaytto); 60 61 Label KolikkoNaytto = new Label(); 62 KolikkoNaytto.X = Screen.Right - 200; 63 KolikkoNaytto.Y = Screen.Top - 100; 64 KolikkoNaytto.TextColor = Color.White; 65 KolikkoNaytto.TextScale *= 3; 66 KolikkoNaytto.IntFormatString = "x{0}"; 67 KolikkoNaytto.BindTo(kolikkolaskuri); 68 Add(KolikkoNaytto); 69 70 Label kolikkokuva = new Label(); 71 kolikkokuva.Image = tahtiKuva; 72 kolikkokuva.Position = KolikkoNaytto.Position; 73 kolikkokuva.X -= 70; 74 Add(kolikkokuva); 75 kolikkokuva.Size = new Vector(60, 60); 76 } 77 43 78 void seuraavakenttä() 79 44 80 { 45 81 kenttänumero++; … … 50 86 { 51 87 ClearAll(); 88 89 kolikkolaskuri.Value = 0; 52 90 53 91 nopeus = new DoubleMeter(300); … … 61 99 Camera.ZoomFactor = 1.9; 62 100 Camera.StayInLevel = true; 101 102 LuoPistelaskuri(); 63 103 } 64 104 … … 67 107 TileMap kentta = TileMap.FromLevelAsset("kentta"+kenttänumero); 68 108 kentta.SetTileMethod('T', LisaaTiili); 109 kentta.SetTileMethod('O', LisaaPudotettava); 69 110 kentta.SetTileMethod('L', LisaaLoppu); 70 111 kentta.SetTileMethod('#', LisaaTaso); … … 72 113 kentta.SetTileMethod('N', LisaaPelaaja); 73 114 kentta.SetTileMethod('K', LisaaPowerup); 115 kentta.SetTileMethod('S', LisaaTankki); 74 116 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 75 117 TileMap kentta2 = TileMap.FromLevelAsset("kentta"+kenttänumero); … … 90 132 taso.Image = ruohokuva; 91 133 } 134 void LisaaPudotettava(Vector paikka, double leveys, double korkeus) 135 { 136 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 137 taso.Position = paikka; 138 taso.Color = Color.Green; 139 taso.IgnoresGravity = true; 140 Add(taso); 141 taso.Image = donitsikuva; 142 taso.Tag = "pudotettava"; 143 taso.IgnoresCollisionResponse = true; 144 AddCollisionHandler(taso, "lyonti", delegate(PhysicsObject pudotettava, PhysicsObject nyrkki) 145 { 146 pudotettava.Velocity = new Vector(0, -800); 147 Timer.SingleShot(10, delegate { LisaaPudotettava(paikka, leveys, korkeus); }); 148 }); 149 } 150 92 151 void LisaaTiili (Vector paikka, double leveys, double korkeus) 93 152 { … … 128 187 129 188 PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 189 tasoAivot.TriesToJump = true; 130 190 tasoAivot.Speed = 100; 131 191 … … 137 197 seuraajanAivot.FarBrain = tasoAivot; 138 198 139 //seuraajanAivot.TargetClose +=199 140 200 141 201 Vihollinen1.Brain = seuraajanAivot; 142 202 AddCollisionHandler(Vihollinen1, "lyonti", osuma); 203 204 Timer ajastin = new Timer(); 205 ajastin.Interval = 0.75; 206 ajastin.Timeout += delegate 207 { 208 Vihollinen1.Jump(400); 209 210 }; 211 ajastin.Start(); 143 212 144 213 } … … 150 219 Polisi.CollisionIgnoreGroup = 1; 151 220 Polisi.Tag = "vihollinen"; 221 Polisi.Animation = new Animation(PoliisiAtt) { FPS = 2 }; 222 Polisi.Animation.Start(); 152 223 Add(Polisi); 153 224 // Polisi.AnimWalk = new Animation(vihukavely); … … 170 241 171 242 Timer ajastin = new Timer(); 172 ajastin.Interval = 0.75;243 ajastin.Interval = 1; 173 244 ajastin.Timeout += delegate 174 245 { 175 PhysicsObject Donitsi = new PhysicsObject(20, 20); 176 Donitsi.Image = donitsikuva; 177 Donitsi.Position = Polisi.Position; 178 Donitsi.Hit((pelaaja1.Position - Polisi.Position).Normalize() * 1500); 179 Add(Donitsi); 180 Donitsi.Shape = Shape.Circle; 181 Donitsi.LifetimeLeft = TimeSpan.FromSeconds(0.75); 182 Donitsi.Tag = "vihollinen"; 183 AddCollisionHandler(Donitsi, "lyonti", osuma); 184 AddCollisionHandler(Donitsi, CollisionHandler.ExplodeObject(100,true)); 185 Donitsi.CollisionIgnoreGroup = 1; 246 if (!Polisi.IsDestroyed) 247 { 248 //Polisi.PlayAnimation(new Animation(PoliisiAtt) { FPS = 1 }); 249 PhysicsObject Donitsi = new PhysicsObject(17, 17); 250 Donitsi.Image = donitsikuva; 251 Donitsi.Position = Polisi.Position; 252 Donitsi.Hit((pelaaja1.Position - Polisi.Position).Normalize() * 1500); 253 Add(Donitsi); 254 Donitsi.Shape = Shape.Circle; 255 Donitsi.LifetimeLeft = TimeSpan.FromSeconds(0.75); 256 Donitsi.Tag = "vihollinen"; 257 AddCollisionHandler(Donitsi, "lyonti", osuma); 258 AddCollisionHandler(Donitsi, CollisionHandler.ExplodeObject(100, true)); 259 Donitsi.CollisionIgnoreGroup = 1; 260 } 186 261 }; 187 262 ajastin.Start(); 188 263 189 264 } 265 void LisaaTankki(Vector paikka, double leveys, double korkeus) 266 { 267 PlatformCharacter Tankki = new PlatformCharacter(leveys*4, korkeus*2); 268 Tankki.Position = paikka; 269 Tankki.Image = tankkikuva; 270 Tankki.CollisionIgnoreGroup = 1; 271 //Tankki.Tag = "vihollinen"; 272 //Tankki.Animation = new Animation(PoliisiAtt) { FPS = 2 }; 273 //Tankki.Animation.Start(); 274 Add(Tankki); 275 276 // Polisi.AnimWalk = new Animation(vihukavely); 277 //Polisi.AnimWalk.FPS = 4; 278 279 PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 280 tasoAivot.Speed = 100; 281 282 FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 283 seuraajanAivot.Speed = 425; 284 seuraajanAivot.DistanceFar = 300; 285 seuraajanAivot.DistanceClose = 200; 286 seuraajanAivot.StopWhenTargetClose = false; 287 seuraajanAivot.FarBrain = tasoAivot; 288 289 IntMeter elämät = new IntMeter(3); 290 291 Tankki.Brain = tasoAivot; 292 AddCollisionHandler(Tankki, "pudotettava", delegate(PhysicsObject vihollinen, PhysicsObject nyrkki) 293 { 294 elämät.Value--; 295 if (elämät.Value == 0) 296 { 297 Tankki.Destroy(); 298 } 299 }); 300 301 Timer ajastin = new Timer(); 302 ajastin.Interval = 1; 303 ajastin.Timeout += delegate 304 { 305 if (!Tankki.IsDestroyed && Math.Sign(Tankki.FacingDirection.GetVector().X) == Math.Sign(pelaaja1.X - Tankki.X)) 306 { 307 //Polisi.PlayAnimation(new Animation(PoliisiAtt) { FPS = 1 }); 308 PhysicsObject Ammus = new PhysicsObject(17, 17); 309 Ammus.Image = ammuskuva; 310 Ammus.Position = Tankki.Position + new Vector(Tankki.FacingDirection.GetVector().X * 80, 30); 311 Ammus.Hit((pelaaja1.Position - Tankki.Position).Normalize() * 1500); 312 Add(Ammus); 313 Ammus.Shape = Shape.Circle; 314 Ammus.LifetimeLeft = TimeSpan.FromSeconds(2); 315 Ammus.Tag = "vihollinen"; 316 AddCollisionHandler(Ammus, "lyonti", osuma); 317 AddCollisionHandler(Ammus, CollisionHandler.ExplodeObject(100, true)); 318 Ammus.CollisionIgnoreGroup = 1; 319 } 320 }; 321 ajastin.Start(); 322 323 } 324 190 325 void osuma(PhysicsObject vihollinen, PhysicsObject nyrkki) 191 326 { … … 225 360 void törmääloppuun(PhysicsObject pelaaja, PhysicsObject loppu) 226 361 { 362 kolikkolaskuri.MinValue = kolikkolaskuri.Value; 227 363 seuraavakenttä(); 228 364 } … … 257 393 punchaani.Play(); 258 394 259 PhysicsObject lyonti = new PhysicsObject( 20,20);260 lyonti.Position = hahmo.Position + hahmo.FacingDirection.GetVector() * 40;395 PhysicsObject lyonti = new PhysicsObject(40,30); 396 lyonti.Position = hahmo.Position + hahmo.FacingDirection.GetVector() * 30; 261 397 lyonti.IgnoresCollisionResponse = true; 262 398 lyonti.Tag = "lyonti"; … … 281 417 MessageDisplay.Add("LISÄÄ RAHEJA!"); 282 418 tahti.Destroy(); 419 kolikkolaskuri.Value++; 283 420 } 284 421 void TormaaPoweruppiin(PhysicsObject hahmo, PhysicsObject Powerup) … … 291 428 void TormaaViholliseen(PhysicsObject hahmo, PhysicsObject vihollinen) 292 429 { 430 yrityslaskuri.Value++; 293 431 aloitapeli(); 294 432 } -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli.csproj.Debug.cachefile
r6265 r6340 28 28 Content\tiili.xnb 29 29 Content\Donitsi.xnb 30 Content\Vihollinen 3.xnb 31 Content\Ammus.xnb 30 32 Content\taustamusa.wma -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/ContentPipeline-{0840467A-D5C5-4B5C-922B-328E74B6AF36}.xml
r6265 r6340 9 9 <Options>None</Options> 10 10 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\kentta1.xnb</Output> 11 <Time>2015-06-2 4T14:41:33.6952363+03:00</Time>11 <Time>2015-06-25T11:04:00.8345327+03:00</Time> 12 12 </Item> 13 13 <Item> … … 135 135 <Options>None</Options> 136 136 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Polisi.xnb</Output> 137 <Time>2015-06-2 4T14:16:10.4822363+03:00</Time>137 <Time>2015-06-25T10:06:53.2405237+03:00</Time> 138 138 </Item> 139 139 <Item> … … 199 199 <Options>None</Options> 200 200 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\polisiattack.xnb</Output> 201 <Time>2015-06-2 4T14:14:23.2522363+03:00</Time>201 <Time>2015-06-25T10:05:17.2371752+03:00</Time> 202 202 </Item> 203 203 <Item> … … 244 244 <Options>None</Options> 245 245 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\kentta2.xnb</Output> 246 <Time>2015-06-2 4T13:52:24.5382363+03:00</Time>246 <Time>2015-06-25T11:20:44.3041327+03:00</Time> 247 247 </Item> 248 248 <Item> … … 263 263 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Donitsi.xnb</Output> 264 264 <Time>2015-06-24T14:17:19.1342363+03:00</Time> 265 </Item> 266 <Item> 267 <Source>Vihollinen 3.png</Source> 268 <Name>Vihollinen 3</Name> 269 <Importer>TextureImporter</Importer> 270 <Processor>TextureProcessor</Processor> 271 <Options>None</Options> 272 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Vihollinen 3.xnb</Output> 273 <Time>2015-06-25T11:05:35.2219327+03:00</Time> 274 </Item> 275 <Item> 276 <Source>Ammus.png</Source> 277 <Name>Ammus</Name> 278 <Importer>TextureImporter</Importer> 279 <Processor>TextureProcessor</Processor> 280 <Options>None</Options> 281 <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Ammus.xnb</Output> 282 <Time>2015-06-25T11:11:55.0541327+03:00</Time> 265 283 </Item> 266 284 <BuildSuccessful>true</BuildSuccessful> -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/Tasohyppelypeli.csproj.FileListAbsolute.txt
r6265 r6340 37 37 C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\tiili.xnb 38 38 C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Donitsi.xnb 39 C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Vihollinen 3.xnb 40 C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Ammus.xnb -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/cachefile-{0840467A-D5C5-4B5C-922B-328E74B6AF36}-targetpath.txt
r6265 r6340 29 29 Content\tiili.xnb 30 30 Content\Donitsi.xnb 31 Content\Vihollinen 3.xnb 32 Content\Ammus.xnb -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/TasohyppelypeliContent/TasohyppelypeliContent.contentproj
r6265 r6340 236 236 </Compile> 237 237 </ItemGroup> 238 <ItemGroup> 239 <Compile Include="Vihollinen 3.png"> 240 <Name>Vihollinen 3</Name> 241 <Importer>TextureImporter</Importer> 242 <Processor>TextureProcessor</Processor> 243 </Compile> 244 </ItemGroup> 245 <ItemGroup> 246 <Compile Include="Ammus.png"> 247 <Name>Ammus</Name> 248 <Importer>TextureImporter</Importer> 249 <Processor>TextureProcessor</Processor> 250 </Compile> 251 </ItemGroup> 238 252 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 239 253 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/TasohyppelypeliContent/kentta1.txt
r6265 r6340 1 1 2 2 ......................................................................................... 3 ............................................V.........K................................ 4 ....................................TTTTTTTTTTTTTTTTTTTT............................. 5 ..................K...........##..........V.......................................... 6 .................###................T...*****........................................... 7 ...........*.............*..........TTTTTTTTTTTTTTTTTTTT.........*....................... 8 ..........###...........###.........T............................#....................... 9 ................................................................###...................... 10 .....N...................P..........T.V........V...............#####..................L.. 11 ####################################TTTTTTTTTTTTTTTTTTTT################################# 3 ......................................KKK...V.......................................... 4 ....................................TTTTTTTTTTTTTT...TTTT............................ 5 ....................................T...................T........##.................. 6 ..................O.................T.....V.............T............................ 7 .................###................T..*****......TTT..*T............................ 8 ...........*.............*..........TTTTTTTT....TTTTTTTTT............................... 9 ...........O.............O.............................*T................................ 10 ..........###...........###.............................T........*.................... 11 ....................................T........TT........TT.......###.............P..... 12 .....N..............................TTTT.V..TTTT.....VTTT......#####..............L.. 13 ####################################TTTTTTTTTTTTTTTTTTTTT################################
Note: See TracChangeset
for help on using the changeset viewer.