Changeset 4434
- Timestamp:
- 2013-07-04 15:00:22 (10 years ago)
- Location:
- 2013/27/OttoW/Stickman jump/Stickman jump
- Files:
-
- 4 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/27/OttoW/Stickman jump/Stickman jump/Stickman jump/Stickman_jump.cs
r4412 r4434 30 30 Image piikitKuva = LoadImage("piikit"); 31 31 Image maaliKuva = LoadImage("lippu"); 32 Image vihukuva = LoadImage("pahis"); 33 Image ufoKuva = LoadImage("ufo"); 32 34 Image oviKuva = LoadImage("ovi"); 33 35 SoundEffect maaliAani = LoadSoundEffect("maali"); … … 37 39 public override void Begin() 38 40 { 39 Al oitaPeli();41 AlkuValikko(); 40 42 } 41 43 42 44 void AloitaPeli() 43 45 { 44 45 46 SeuraavaKentta(); 46 47 48 } 49 47 } 48 50 49 void SeuraavaKentta() 51 50 { 52 51 ClearAll(); 53 52 Gravity = new Vector(0, -1000); 54 if (kenttaNro > 2) Exit();53 if (kenttaNro > 3) Exit(); 55 54 else LuoKentta("kentta" + kenttaNro); 56 55 57 56 LisaaNappaimet(); 58 57 Camera.Follow(pelaaja1); 59 Camera.ZoomFactor = 1. 2;58 Camera.ZoomFactor = 1.0; // Level.Width / 1400.0; ; 60 59 Camera.StayInLevel = true; 60 } 61 62 63 void AlkuValikko() 64 { 65 MultiSelectWindow alkuValikko = new MultiSelectWindow("Stickman Jump!", "Aloita peli", "Lopeta"); 66 Add(alkuValikko); 67 68 alkuValikko.AddItemHandler(0, AloitaPeli); 69 //alkuValikko.AddItemHandler(1, ParhaatPisteet); 70 alkuValikko.AddItemHandler(1, Exit); 61 71 } 62 72 … … 70 80 kentta.SetTileMethod('N', LisaaPelaaja); 71 81 kentta.SetTileMethod('M', LisaaMaali); 82 kentta.SetTileMethod('V', LisaaVihu); 83 kentta.SetTileMethod('U', LisaaUfo); 72 84 kentta.SetTileMethod('B', LisaaNappi, 'O'); 73 85 kentta.SetTileMethod('O', LisaaOvi, 'O'); … … 76 88 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 77 89 Level.CreateBorders(); 78 Level.Background.CreateGradient(Color. Red, Color.White);90 Level.Background.CreateGradient(Color.Blue, Color.White); 79 91 } 80 92 … … 86 98 Add(taso); 87 99 } 100 void LisaaVihu(Vector paikka, double leveys, double korkeus) 101 { 102 PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus); 103 vihu.Position = paikka; 104 vihu.Image = vihukuva; 105 vihu.Tag = "vihu"; 106 107 Add(vihu); 108 109 PlatformWandererBrain vihuAivot = new PlatformWandererBrain(); 110 vihuAivot.Speed = 100; 111 112 vihu.Brain = vihuAivot; 113 114 115 } 116 void LisaaUfo(Vector paikka, double leveys, double korkeus) 117 { 118 Vihollinen ufo = new Vihollinen(leveys / 1 * 5, korkeus * 1.5, 3); 119 ufo.Elamat.LowerLimit += delegate { RajaytaJaTuhoa(ufo); }; 120 ufo.Shape = Shape.FromImage(ufoKuva); 121 ufo.Position = paikka; 122 ufo.MakeStatic(); 123 124 ufo.Image = ufoKuva; 125 ufo.Tag = "ufo"; 126 ufo.IgnoresGravity = true; 127 128 Timer ajastin = new Timer(); 129 Vector[] kohteet = { new Vector(-100, 0), new Vector(100, 0) }; 130 ajastin.Timeout += delegate { LiikutaOliotaKahteenPaikkaan(ufo, kohteet); }; 131 ajastin.Interval = 2; 132 ajastin.Start(); 133 ufo.Velocity = kohteet[0]; 134 Add(ufo); 135 136 137 } 138 139 void RajaytaJaTuhoa(PhysicsObject obj) 140 { 141 Explosion rajahdys = new Explosion(50); 142 rajahdys.Position = obj.Position; 143 144 Add(rajahdys); 145 obj.Destroy(); 146 } 147 148 149 void LiikutaOliotaKahteenPaikkaan(PhysicsObject olio, Vector[] kohteet) 150 { 151 if (olio.Velocity == kohteet[0]) 152 olio.Velocity = kohteet[1]; 153 else olio.Velocity = kohteet[0]; 154 155 156 } 157 88 158 89 159 void LisaaNappi(Vector paikka, double leveys, double korkeus, char mitkaTuhoaa) … … 112 182 { 113 183 PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 184 tahti.Shape = Shape.FromImage(piikitKuva); 114 185 tahti.IgnoresCollisionResponse = true; 115 186 tahti.Position = paikka; … … 128 199 pelaaja1.AnimWalk = new Animation(kavelykuvat); 129 200 pelaaja1.AnimWalk.FPS = 5; 201 pelaaja1.Weapon = new AssaultRifle(70, 20); 202 pelaaja1.Weapon.InfiniteAmmo = true; 203 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 130 204 AddCollisionHandler(pelaaja1, "piikit", TormaaPiikkeihin); 131 205 AddCollisionHandler(pelaaja1, "maali", PaaseeMaaliin); 206 AddCollisionHandler(pelaaja1, "vihu", TormaaVihuun); 207 AddCollisionHandler(pelaaja1, "ufo", TormaaUfoon); 132 208 AddCollisionHandler<PhysicsObject, Nappi>(pelaaja1, PainaaNappia); 133 209 Add(pelaaja1); … … 138 214 kenttaNro++; 139 215 SeuraavaKentta(); 216 } 217 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 218 { 219 ammus.Destroy(); 220 if (kohde.Tag.Equals("vihu")) 221 { 222 kohde.Destroy(); 223 224 } 225 if (kohde.Tag.Equals("ufo")) 226 { 227 ((Vihollinen)kohde).Elamat.Value--; 228 229 } 230 140 231 } 141 232 … … 148 239 Add(maali); 149 240 } 241 void TormaaVihuun(PhysicsObject hahmo, PhysicsObject vihu) 242 { 243 pelaaja1.Destroy(); 244 MessageDisplay.Add("Örkki söi sinut!"); 245 } 246 void TormaaUfoon(PhysicsObject hahmo, PhysicsObject ufo) 247 { 248 pelaaja1.Destroy(); 249 MessageDisplay.Add("Ufot tuhosivat sinut!"); 250 251 } 150 252 151 253 … … 154 256 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 155 257 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 258 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 156 259 157 260 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); … … 169 272 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 170 273 } 274 void AmmuAseella(PlatformCharacter pelaaja) 275 { 276 PhysicsObject ammus = pelaaja.Weapon.Shoot(); 277 278 if(ammus != null) 279 { 280 ammus.Size *= 1; 281 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 282 283 } 284 } 171 285 172 286 void Liikuta(PlatformCharacter hahmo, double nopeus) … … 191 305 } 192 306 } 307 308 309 public class Vihollinen : PhysicsObject 310 { 311 IntMeter elamat; 312 public IntMeter Elamat { get { return elamat; } } 313 314 315 public Vihollinen(double leveys, double korkeus, int elamia) 316 : base (leveys, korkeus) 317 { 318 elamat = new IntMeter(elamia, 0, elamia); 319 320 321 } 322 323 324 } 325 326 -
2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/Stickman jumpContent.contentproj
r4412 r4434 124 124 </Compile> 125 125 </ItemGroup> 126 <ItemGroup> 127 <Compile Include="vihu.png"> 128 <Name>vihu</Name> 129 <Importer>TextureImporter</Importer> 130 <Processor>TextureProcessor</Processor> 131 </Compile> 132 </ItemGroup> 133 <ItemGroup> 134 <Compile Include="pahis.png"> 135 <Name>pahis</Name> 136 <Importer>TextureImporter</Importer> 137 <Processor>TextureProcessor</Processor> 138 </Compile> 139 </ItemGroup> 140 <ItemGroup> 141 <Compile Include="ufo.png"> 142 <Name>ufo</Name> 143 <Importer>TextureImporter</Importer> 144 <Processor>TextureProcessor</Processor> 145 </Compile> 146 </ItemGroup> 147 <ItemGroup> 148 <Compile Include="kentta3.txt"> 149 <Name>kentta3</Name> 150 <Importer>TextFileImporter</Importer> 151 <Processor>TextFileContentProcessor</Processor> 152 </Compile> 153 </ItemGroup> 126 154 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 127 155 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/kentta1.txt
r4412 r4434 1 1 2 V # 3 ## # 4 # ## # 2 5 # 3 ## # 4 ## ## # 5 # 6 # ** # 7 oooo ### # 8 # #### # # 9 # # 10 ## ** ** * #B # 11 # #### * #### M 12 b ## O * ######### 13 ### ##### O # 14 # O ## #### 15 N **** O # 6 #** * # 7 # ##### # # 8 # U 9 ## ** ** * # B# 10 # #### * #### M 11 V ## O * ######### 12 ### ##### O V # 13 # O ######### 14 N **** O # 16 15 ###############################*********************************** -
2013/27/OttoW/Stickman jump/Stickman jump/Stickman jumpContent/kentta2.txt
r4412 r4434 5 5 6 6 7 M 8 # o 9 # o 10 # o 11 o 12 #### ### b#13 14 #####15 16 ######## #########oooo###########################7 M U 8 # o B# 9 # o VV ################# # ## 10 # o # ############################## # 11 o O # 12 #### # O b### 13 ## # O ###### 14 O #### 15 # V O VVVVV # 16 ######## #######oooo########################### 17 17 N ########## 18 18 ######**********************************************************************************************
Note: See TracChangeset
for help on using the changeset viewer.