Changeset 4277
- Timestamp:
- 2013-06-27 14:56:47 (10 years ago)
- Location:
- 2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1
- Files:
-
- 5 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs
r4246 r4277 11 11 public ListenContext tikkaillaNappaimet; 12 12 public ListenContext poisTikkailtaNappaimet; 13 14 13 public Pelaaja(double leveys, double korkeus) 15 14 : base(leveys, korkeus) … … 32 31 Pelaaja pelaaja1; 33 32 Pelaaja pelaaja2; 33 Pelaaja pelaaja3; 34 Pelaaja pelaaja4; 34 35 35 36 Image luodinKuva = LoadImage("luoti"); 36 37 Image pelaajanKuva2 = LoadImage("pelaaja2 (2)"); 37 38 Image pelaajanKuva = LoadImage("player3"); 38 Image aseKuva = LoadImage("gun"); 39 Image pelaajanKuva3 = LoadImage("pelaaja3"); 40 Image pelaajanKuva4 = LoadImage("pelaaja4"); 41 39 42 Image tikasKuva = LoadImage("Tikkaat"); 40 43 41 44 DoubleMeter elamaLaskuri1; 42 45 DoubleMeter elamalaskuri2; 46 DoubleMeter elamalaskuri3; 47 DoubleMeter elamalaskuri4; 43 48 44 49 … … 53 58 "Aloita peli", "Lopeta"); 54 59 alkuValikko.Color = Color.Black; 55 56 57 60 Add(alkuValikko); 58 59 60 } 61 62 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja1, -nopeus); 63 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja1, nopeus); 64 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 65 ControllerOne.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Käytä oikeaa liipaisinta aseen liipaisimena.", pelaaja1); 66 67 ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja2, -nopeus); 68 ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja2, nopeus); 69 ControllerTwo.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 70 71 ControllerThree.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja3, -nopeus); 72 ControllerThree.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja3, nopeus); 73 ControllerThree.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 74 75 ControllerFour.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja4, -nopeus); 76 ControllerFour.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja4, nopeus); 77 ControllerFour.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 78 } 79 80 void LiikutaPelaajaa(Pelaaja pelaaja, double nopeus) 81 { 82 pelaaja.Walk(nopeus); 83 } 84 61 85 62 86 DoubleMeter LuoElamaLaskuri(double x, double y, Pelaaja pelaaja) 63 87 { 64 DoubleMeter elamaLaskuri = new DoubleMeter(10); 65 elamaLaskuri.MaxValue = 10; 66 elamaLaskuri.LowerLimit += delegate { 88 DoubleMeter elamaLaskuri = new DoubleMeter(10); 89 elamaLaskuri.MaxValue = 100.0; 90 elamaLaskuri.LowerLimit += delegate 91 { 67 92 ElamaLoppui(pelaaja); 68 elamaLaskuri.Image = LoadImage("");69 elamaLAskuri.BarImage = LoadImage("");70 93 }; 71 94 … … 82 105 MessageDisplay.Add("HaHaHa!!! You're dead!"); 83 106 pelaaja.Destroy(); 84 } 107 pelaaja.Weapon.Destroy(); 108 Explosion rajahdys = new Explosion(50); 109 rajahdys.Position = pelaaja.Position; 110 Add(rajahdys); 111 } 112 113 85 114 86 115 … … 89 118 pelaaja1 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva); 90 119 pelaaja2 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva2); 120 pelaaja3 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva3); 121 pelaaja4 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva4); 91 122 TileMap kentta = TileMap.FromLevelAsset("pelitausta"); 92 123 kentta.SetTileMethod('#', LisaaTaso); 93 kentta.SetTileMethod('*', LisaaAse);94 124 kentta.SetTileMethod('N', LisaaPelaaja, pelaaja1); 95 125 kentta.SetTileMethod('M', LisaaPelaaja, pelaaja2); 126 kentta.SetTileMethod('V', LisaaPelaaja, pelaaja3); 127 kentta.SetTileMethod('B', LisaaPelaaja, pelaaja4); 96 128 kentta.SetTileMethod('H', LisaaTikkaat); 97 129 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); … … 99 131 Level.Background.CreateGradient(Color.White, Color.White); 100 132 elamaLaskuri1 = LuoElamaLaskuri(Screen.Right - 150, Screen.Top - 150, pelaaja1); 101 elamalaskuri2 = LuoElamaLaskuri(Screen.Left +150, Screen.Top - 150, pelaaja2); 133 elamalaskuri2 = LuoElamaLaskuri(Screen.Left + 150, Screen.Top - 150, pelaaja2); 134 elamalaskuri3 = LuoElamaLaskuri(Screen.Right - 150, Screen.Bottom + 150, pelaaja3); 135 elamalaskuri4 = LuoElamaLaskuri(Screen.Left + 150, Screen.Bottom + 150, pelaaja4); 136 102 137 } 103 138 104 139 void AloitaPeli() 105 { 140 { 106 141 } 107 142 … … 121 156 PhysicsObject tikkaat = PhysicsObject.CreateStaticObject(leveys, korkeus); 122 157 tikkaat.Position = paikka; 123 158 tikkaat.Image = tikasKuva; 124 159 tikkaat.IgnoresCollisionResponse = true; 125 160 tikkaat.Tag = "tikkaat"; … … 127 162 } 128 163 129 130 131 void LisaaAse(Vector paikka, double leveys, double korkeus) 132 { 133 PhysicsObject ase = PhysicsObject.CreateStaticObject(leveys, korkeus); 134 ase.IgnoresCollisionResponse = true; 135 ase.Position = paikka; 136 ase.Image = aseKuva; 137 ase.Tag = "gun"; 138 Add(ase); 139 } 164 165 166 140 167 141 168 Pelaaja LuoPelaaja(double leveys, double korkeus, Image kuva) 142 169 { 143 170 Pelaaja pelaaja = new Pelaaja(leveys, korkeus); 171 pelaaja.Color = Color.Black; 144 172 pelaaja.Image = kuva; 145 173 return pelaaja; … … 153 181 Add(pelaaja); 154 182 155 pelaaja.Weapon = new PlasmaCannon 183 pelaaja.Weapon = new PlasmaCannon(30, 10); 156 184 pelaaja.Weapon.Ammo.Value = 1000; 157 185 pelaaja.Weapon.ProjectileCollision = AmmusOsui; 158 pelaaja. 186 187 159 188 Timer onkoTikkaillaAjastin = new Timer(); 160 189 onkoTikkaillaAjastin.Interval = 0.1; 161 190 onkoTikkaillaAjastin.Timeout += delegate 162 191 { 163 if (GetObjectsAt(pelaaja.Position, "tikkaat", pelaaja.Width / 2).Count > 0)192 if (GetObjectsAt(pelaaja.AbsolutePosition, "tikkaat", pelaaja.Width / 2).Count > 0) 164 193 { 165 // pelaaja1.StopVertical();166 194 pelaaja.IgnoresGravity = true; 167 195 pelaaja.poisTikkailtaNappaimet.Disable(); … … 189 217 } 190 218 191 219 192 220 193 221 void AmmuAseella(PlatformCharacter pelaaja) … … 211 239 kranu.Explosion.ShockwaveReachesObject += KranaattiOsui; 212 240 Add(kranaatti); 213 } 241 } 214 242 215 243 … … 224 252 if (kohde == pelaaja1) 225 253 { 226 elamaLaskuri1.Value -= 3;254 elamaLaskuri1.Value -= 1; 227 255 } 228 256 229 257 if (kohde == pelaaja2) 230 258 { 231 elamalaskuri2.Value -= 3; 232 } 233 } 234 259 elamalaskuri2.Value -= 1; 260 } 261 262 if (kohde == pelaaja3) 263 { 264 elamalaskuri3.Value -= 1; 265 } 266 267 if (kohde == pelaaja4) 268 { 269 elamalaskuri4.Value -= 1; 270 } 271 } 235 272 void LisaaNappaimet() 236 273 { … … 239 276 pelaaja2.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 240 277 pelaaja2.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 278 pelaaja3.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 279 pelaaja3.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 280 pelaaja4.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 281 pelaaja4.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 282 241 283 242 284 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); … … 245 287 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 246 288 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 289 247 290 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus).InContext(pelaaja1.poisTikkailtaNappaimet); 248 249 291 Keyboard.Listen(Key.Up, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 500.0).InContext(pelaaja1.tikkaillaNappaimet); 292 Keyboard.Listen(Key.Up, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet); 250 293 Keyboard.Listen(Key.Down, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, -500.0).InContext(pelaaja1.tikkaillaNappaimet); 251 Keyboard.Listen(Key.Up, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet);252 294 Keyboard.Listen(Key.Down, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet); 253 295 254 Keyboard.Listen(Key. O, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja1.Weapon, Angle.FromDegrees(1));255 Keyboard.Listen(Key. L, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja1.Weapon, Angle.FromDegrees(-1));256 Keyboard.Listen(Key. M, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1);257 Keyboard.Listen(Key. G, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2);296 Keyboard.Listen(Key.I, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja1.Weapon, Angle.FromDegrees(1)); 297 Keyboard.Listen(Key.O, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja1.Weapon, Angle.FromDegrees(-1)); 298 Keyboard.Listen(Key.P, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 299 Keyboard.Listen(Key.Y, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 258 300 259 301 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 260 302 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja2, nopeus); 303 304 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus).InContext(pelaaja2.poisTikkailtaNappaimet); 261 305 Keyboard.Listen(Key.W, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 500.0).InContext(pelaaja2.tikkaillaNappaimet); 306 Keyboard.Listen(Key.W, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet); 262 307 Keyboard.Listen(Key.S, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, -500.0).InContext(pelaaja2.tikkaillaNappaimet); 263 Keyboard.Listen(Key.W, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet);264 308 Keyboard.Listen(Key.S, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet); 265 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus).InContext(pelaaja2.poisTikkailtaNappaimet); ; 266 Keyboard.Listen(Key.Y, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja2.Weapon, Angle.FromDegrees(1)); 267 Keyboard.Listen(Key.H, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja2.Weapon, Angle.FromDegrees(1)); 309 Keyboard.Listen(Key.R, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja2.Weapon, Angle.FromDegrees(1)); 310 Keyboard.Listen(Key.T, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja2.Weapon, Angle.FromDegrees(-1)); 268 311 } 269 312 -
2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj
r4246 r4277 101 101 </Compile> 102 102 </ItemGroup> 103 <ItemGroup> 104 <Compile Include="music2.mp3"> 105 <Name>music2</Name> 106 <Importer>Mp3Importer</Importer> 107 <Processor>SongProcessor</Processor> 108 </Compile> 109 </ItemGroup> 110 <ItemGroup> 111 <Compile Include="pelitausta kentta2.txt"> 112 <Name>pelitausta kentta2</Name> 113 <Importer>TextFileImporter</Importer> 114 <Processor>TextFileContentProcessor</Processor> 115 </Compile> 116 </ItemGroup> 117 <ItemGroup> 118 <Compile Include="pelaaja3.png"> 119 <Name>pelaaja3</Name> 120 <Importer>TextureImporter</Importer> 121 <Processor>TextureProcessor</Processor> 122 </Compile> 123 </ItemGroup> 124 <ItemGroup> 125 <Compile Include="pelaaja4.png"> 126 <Name>pelaaja4</Name> 127 <Importer>TextureImporter</Importer> 128 <Processor>TextureProcessor</Processor> 129 </Compile> 130 </ItemGroup> 103 131 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 104 132 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/pelitausta.txt
r4246 r4277 18 18 ######## ######## HH 19 19 ###### ####HH# 20 ############### HH20 V ############## B # HH 21 21 ###################################################
Note: See TracChangeset
for help on using the changeset viewer.