- Timestamp:
- 2012-07-26 15:09:14 (11 years ago)
- Location:
- 2012/30/TapaniS/The Slayer task Marsu/The Slayer task Marsu
- Files:
-
- 4 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/TapaniS/The Slayer task Marsu/The Slayer task Marsu/The Slayer task Marsu/The_Slayer_task_Marsu.cs
r3759 r3777 11 11 PlatformCharacter pelaaja; 12 12 Image pelaajanKuva = LoadImage("ok"); 13 13 14 14 Image vihunKuva = LoadImage("Marsuvihu1"); 15 16 17 18 15 Image marsunKuva = LoadImage("Marsuvihu2"); 16 DoubleMeter elamaLaskuri; 17 IntMeter marsulaskuri; 18 int _kenttanro = 1; 19 Timer aikaLaskuri; 19 20 public override void Begin() 21 { 22 ClearAll(); 23 näytävalikko(); 24 } 25 26 void näytävalikko() 20 27 { 21 28 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", … … 24 31 alkuValikko.ItemSelected += PainettiinValikonNappia; 25 32 } 26 27 void LuoKentta() 28 { 33 void Luovälivalikko() 34 { MultiSelectWindow VäliValikko = new MultiSelectWindow("VäliValikko", 35 "Seuraava Kenttä", "Pelaa kenttä uudestaan", "Lopeta"); 36 Add(VäliValikko); 37 VäliValikko.ItemSelected += PainettiinVäliValikonNappia; 38 39 } 40 41 42 43 void LuoKentta(int kenttanro) 44 { 45 ClearAll(); 46 marsulaskuri = new IntMeter(0); 47 marsulaskuri.LowerLimit += delegate { Luovälivalikko(); }; 48 29 49 Gravity = new Vector(0.0, -800.0); 30 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta"); 31 Camera.Zoom(1.7); 50 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta" + kenttanro); 32 51 ruudut.SetTileMethod(Color.BrightGreen, LuoTaso); 33 52 ruudut.SetTileMethod(Color.Black, LuoPelaaja); … … 35 54 ruudut.SetTileMethod(Color.Maroon, LuoMaa); 36 55 ruudut.SetTileMethod(Color.LimeGreen, LuoKukka); 56 ruudut.SetTileMethod(Color.Gray, LuoRauta); 37 57 38 58 ruudut.Execute(22, 20); 39 59 Level.CreateBorders(); 60 Camera.ZoomToLevel(); 40 61 AsetaOhjaimet(); 62 LuoAikaLaskuri(); 63 LuoPistelaskuri(); 64 LuoElamaLaskuri(); 41 65 } 42 66 … … 50 74 Keyboard.Listen(Key.S, ButtonState.Released, NouseYlos, ""); 51 75 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja.Weapon); 76 Keyboard.Listen(Key.P, ButtonState.Released, Pause, "Pause"); 77 52 78 } 53 79 … … 57 83 { 58 84 case 0: 59 LuoKentta( );85 LuoKentta(_kenttanro); 60 86 break; 61 87 case 1: … … 68 94 } 69 95 96 void PainettiinVäliValikonNappia(int valinta) 97 { 98 switch (valinta) 99 { 100 case 0: 101 LuoKentta(++_kenttanro); 102 break; 103 case 1: 104 LuoKentta(_kenttanro); 105 break; 106 case 2: 107 Exit(); 108 break; 109 } 110 111 } 112 113 70 114 void LuoTaso(Vector paikka, double leveys, double korkeus) 71 115 { … … 80 124 81 125 } 126 void LuoRauta(Vector paikka, double leveys, double korkeus) 127 { 128 PhysicsObject rauta = PhysicsObject.CreateStaticObject(leveys, korkeus); 129 rauta.Position = paikka; 130 //maa.Image = groundImage; 131 rauta.CollisionIgnoreGroup = 1; 132 rauta.Color = Color.Gray; 133 Add(rauta); 134 135 136 } 137 138 82 139 void LuoMaa(Vector paikka, double leveys, double korkeus) 83 140 { … … 88 145 maa.Color = Color.Maroon; 89 146 Add(maa); 90 91 92 93 94 95 } 147 } 148 96 149 void LuoKukka(Vector paikka, double leveys, double korkeus) 97 150 { … … 102 155 kukka.Color = Color.LimeGreen; 103 156 Add(kukka); 104 105 106 107 } 108 109 110 111 112 157 } 158 159 void LuoElamaLaskuri() 160 { 161 elamaLaskuri = new DoubleMeter(25); 162 elamaLaskuri.MaxValue = 25; 163 elamaLaskuri.LowerLimit += ElamaLoppui; 164 165 ProgressBar elamaPalkki = new ProgressBar(150, 20); 166 elamaPalkki.X = Screen.Left + 150; 167 elamaPalkki.Y = Screen.Top - 20; 168 elamaPalkki.BindTo(elamaLaskuri); 169 Add(elamaPalkki); 170 171 elamaPalkki.Color = Color.Transparent; 172 173 //Palkin väri: 174 elamaPalkki.BarColor = Color.Lime; 175 176 //Reunan väri: 177 elamaPalkki.BorderColor = Color.Black; 178 179 } 180 181 void ElamaLoppui() 182 { 183 MessageDisplay.Add("Marsut Valtasivat maailman, Hävisit Pelin!"); 184 pelaaja.Destroy(); 185 näytävalikko(); 186 187 } 113 188 114 189 void LuoPelaaja(Vector paikka, double leveys, double korkeus) 115 190 { 116 117 191 pelaaja = new PlatformCharacter(30, 50); 118 192 pelaaja.Position = paikka; … … 120 194 pelaaja.Image = pelaajanKuva; 121 195 pelaaja.Tag = "pelaaja"; 122 AssaultRifle ase = new AssaultRifle(10, 10);123 pelaaja.Weapon = ase;196 AssaultRifle pyssy = new AssaultRifle(2, 5); 197 pelaaja.Weapon = new AssaultRifle(3, 1); 124 198 pelaaja.Weapon.AmmoIgnoresGravity = false; 125 } 199 pelaaja.Weapon.ProjectileCollision = AmmusOsuu; 200 AddCollisionHandler<PlatformCharacter, Vihu>(pelaaja, "vihu", pelaajatörmäsi); 201 } 202 203 void pelaajatörmäsi(PlatformCharacter pelaaja, Vihu marsu) 204 { 205 marsu.Image = marsunKuva; 206 Timer.SingleShot(0.5, delegate { vaihdamarsukuva(marsu); }); 207 elamaLaskuri.Value -= 5; 208 209 210 } 211 void vaihdamarsukuva(Vihu marsu) 212 { 213 marsu.Image = vihunKuva; 214 215 } 216 217 218 219 126 220 127 221 void LuoVihollinen(Vector paikka, double leveys, double korkeus) 128 222 { 129 PlatformCharacter vihu = new PlatformCharacter(25, 40);223 Vihu vihu = new Vihu(25, 40); 130 224 vihu.Tag = "vihu"; 131 225 vihu.Position = paikka; … … 138 232 seuraajanAivot.Active = true; 139 233 seuraajanAivot.Speed = 50; 234 vihu.Destroyed += vihutuhoutuu; 235 marsulaskuri.Value++; 140 236 141 237 142 238 } 143 239 144 void DistanceFar() 145 { 146 147 148 } 149 240 void vihutuhoutuu() 241 { 242 pisteLaskuri.Value += 10; 243 marsulaskuri.Value--; 244 245 } 246 247 void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 248 { 249 ammus.Destroy(); 250 if (kohde.Tag.ToString() == "vihu") 251 (kohde as Vihu).elamaLaskuri.Value--; 252 } 150 253 151 254 void Hyppaa() 152 255 { 153 pelaaja.Jump(4 00);256 pelaaja.Jump(450); 154 257 } 155 258 … … 162 265 pelaaja.Height = 20; 163 266 } 267 void Pause() 268 { 269 ClearControls(); 270 Keyboard.Listen(Key.P, ButtonState.Released, PalaaPeliin, "Pause"); 271 aikaLaskuri.Pause(); 272 PhysicsEnabled = false; 273 } 274 void PalaaPeliin() 275 { 276 ClearControls(); 277 AsetaOhjaimet(); 278 aikaLaskuri.Start(); 279 PhysicsEnabled = true; 280 } 281 164 282 void NouseYlos() 165 283 { … … 180 298 } 181 299 } 300 301 302 void LuoPistelaskuri() 303 { 304 int vanhatpisteet = 0; 305 if (pisteLaskuri != null) 306 { 307 vanhatpisteet = pisteLaskuri.Value; 308 } 309 310 pisteLaskuri = new IntMeter(vanhatpisteet); 311 312 Label pisteNaytto = new Label(); 313 pisteNaytto.X = Screen.Left + 100; 314 pisteNaytto.Y = Screen.Top - 100; 315 pisteNaytto.TextColor = Color.Black; 316 pisteNaytto.Color = Color.White; 317 pisteNaytto.Title = "Pisteet"; 318 319 320 321 pisteNaytto.BindTo(pisteLaskuri); 322 Add(pisteNaytto); 323 324 } 325 IntMeter pisteLaskuri; 326 327 void LuoAikaLaskuri() 328 { 329 aikaLaskuri = new Timer(); 330 aikaLaskuri.Start(); 331 332 Label aikaNaytto = new Label(); 333 aikaNaytto.TextColor = Color.White; 334 aikaNaytto.DecimalPlaces = 1; 335 aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 336 Add(aikaNaytto); 337 } 182 338 } 339 340 class Vihu : PlatformCharacter 341 { 342 public IntMeter elamaLaskuri = new IntMeter(2, 0, 2); 343 344 public Vihu(double leveys, double korkeus) 345 : base(leveys, korkeus) 346 { 347 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 348 349 } 350 351 352 353 } 354 -
2012/30/TapaniS/The Slayer task Marsu/The Slayer task Marsu/The Slayer task MarsuContent/The Slayer task MarsuContent.contentproj
r3741 r3777 66 66 </ItemGroup> 67 67 <ItemGroup> 68 <Compile Include="Kentta.png"> 69 <Name>Kentta</Name> 68 <Compile Include="Kentta1.png"> 69 <Name>Kentta1</Name> 70 <Importer>TextureImporter</Importer> 71 <Processor>TextureProcessor</Processor> 72 </Compile> 73 </ItemGroup> 74 <ItemGroup> 75 <Compile Include="RayGun.png"> 76 <Name>RayGun</Name> 77 <Importer>TextureImporter</Importer> 78 <Processor>TextureProcessor</Processor> 79 </Compile> 80 </ItemGroup> 81 <ItemGroup> 82 <Compile Include="Kentta2.png"> 83 <Name>Kentta2</Name> 70 84 <Importer>TextureImporter</Importer> 71 85 <Processor>TextureProcessor</Processor>
Note: See TracChangeset
for help on using the changeset viewer.