Changeset 2102
- Timestamp:
- 2011-06-17 12:44:04 (8 years ago)
- Location:
- 2011/24/EliasY/Pixel Quest/Pixel Quest
- Files:
-
- 2 added
- 3 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel Quest/Peli.cs
r2080 r2102 15 15 Image hallitsijankuva = LoadImage("Hallitsija"); 16 16 Image vihollinen = LoadImage("Vihu"); 17 Image paa hivollinen = LoadImage("Paavihu");17 Image paavihollinen = LoadImage("Paavihu"); 18 18 Image paatalo = LoadImage("Paatalo"); 19 19 Image paatalo_katto_kuva = LoadImage("Paatalo_katto"); … … 23 23 PhysicsObject vihu; 24 24 PhysicsObject paavihu; 25 PhysicsObject paatalo_katto;26 25 PhysicsObject paatalo_vasen_seina; 27 26 PhysicsObject paatalo_yla_seina; … … 29 28 PhysicsObject paatalo_ala_seina; 30 29 PhysicsObject Talo; 30 PhysicsObject ammus; 31 31 GameObject Paatalo_pohja; 32 32 GameObject tie; 33 33 Vector ylos = new Vector(0, 200); 34 int pelinkulku = 0; 34 Vector ammuylos = new Vector(0, 1000); 35 Vector ammualas = new Vector(0, -1000); 36 Vector ammuoikealle = new Vector(1000, 0); 37 Vector ammuvasemmalle = new Vector(-1000, 0); 38 FollowerBrain vihunaivot; 39 FollowerBrain paavihunaivot; 40 int pelinkulku = 1; 35 41 int pelaajanelamat = 5; 42 int paavihunelamat = 5; 43 int montakovihualuotu = 0; 44 bool kuolematon = false; 45 bool voikoampua = true; 36 46 public override void Begin() 37 47 { … … 62 72 MessageDisplay.TextColor = Color.LightBlue; 63 73 64 IsFullScreen = true;74 IsFullScreen = false; 65 75 66 76 LuoTie(1600, 30, 0, 0); … … 75 85 Camera.Follow(Pelaaja); 76 86 77 LuoKyla(0, 200); 87 LuoKyla(-700, -700); 88 LuoKyla(550, 800); 89 LuoKyla(380, -680); 78 90 LuoOlennot(); 79 91 } … … 98 110 Pelaaja = new PhysicsObject(10,10); 99 111 Pelaaja.Image = pelaajankuva; 112 Pelaaja.CollisionIgnoreGroup = 1; 100 113 Pelaaja.Shape = Shape.FromImage(pelaajankuva); 101 114 Pelaaja.CanRotate = false; … … 114 127 Keyboard.Listen(Key.D, ButtonState.Pressed, LiikuOikealle, "Liikuta Pelaajaa oikealle."); 115 128 Keyboard.Listen(Key.D, ButtonState.Released, PysaytaX, null); 129 Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu."); 116 130 Keyboard.Listen(Key.M, ButtonState.Pressed, Kartta, "Näytä kartta"); 117 131 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); … … 169 183 LuoTalo(paatalonsijaintiX - 100, paatalonsijaintiY - 150); 170 184 171 LuoViholliset(Paatalo_pohja.X - 75, Paatalo_pohja.Y - 150 );185 LuoViholliset(Paatalo_pohja.X - 75, Paatalo_pohja.Y - 150, Paatalo_pohja.X, Paatalo_pohja.Y); 172 186 } 173 187 void LuoTalo(double x, double y) … … 179 193 Add(Talo); 180 194 } 181 void LuoViholliset(double x, double y) 182 { 183 FollowerBrain vihunaivot = new FollowerBrain(); 195 void LuoViholliset(double x, double y, double paaX, double paaY) 196 { 197 while (montakovihualuotu < 4) 198 { 199 vihunaivot = new FollowerBrain(); 184 200 vihunaivot.Target = Pelaaja; 185 vihunaivot.TargetFollowDistance = 100;186 vihunaivot.Speed = 70;201 vihunaivot.TargetFollowDistance = 250; 202 vihunaivot.Speed = 60; 187 203 vihunaivot.TargetCloseDistance = 15; 188 204 vihunaivot.TargetClose += Damage1; … … 192 208 vihu.Image = vihollinen; 193 209 vihu.Brain = vihunaivot; 194 vihu.X = x + RandomGen.NextDouble(-40, 40); 195 vihu.Y = y + RandomGen.NextDouble(-40, 40); 210 vihu.X = x + RandomGen.NextDouble(-35, 35); 211 vihu.Y = y + RandomGen.NextDouble(-35, 35); 212 vihu.Tag = "perusvihu"; 196 213 197 214 Add(vihu); 215 216 montakovihualuotu += 1; 217 } 218 219 montakovihualuotu = 0; 220 221 paavihunaivot = new FollowerBrain(); 222 paavihunaivot.Target = Pelaaja; 223 paavihunaivot.TargetFollowDistance = 100; 224 paavihunaivot.Speed = 80; 225 paavihunaivot.TargetCloseDistance = 15; 226 paavihunaivot.TargetClose += Damage2; 227 paavihunaivot.Active = true; 228 229 paavihu = new PhysicsObject(25, 25); 230 paavihu.Image = paavihollinen; 231 paavihu.Brain = paavihunaivot; 232 paavihu.X = paaX + RandomGen.NextDouble(-50, 50); 233 paavihu.Y = paaY + RandomGen.NextDouble(-50, 50); 234 paavihu.Tag = "paavihu"; 235 236 Add(paavihu); 198 237 } 199 238 #region Liikunta 200 239 void LiikuYlos() 201 240 { 202 Vector ylos = new Vector(0, 200);241 Vector ylos = new Vector(0, 100); 203 242 Pelaaja.Angle = Angle.FromDegrees(0); 204 243 Pelaaja.Hit(ylos); … … 206 245 void LiikuAlas() 207 246 { 208 Vector alas = new Vector(0, - 200);247 Vector alas = new Vector(0, -100); 209 248 Pelaaja.Angle = Angle.FromDegrees(180); 210 249 Pelaaja.Hit(alas); … … 212 251 void LiikuVasemmalle() 213 252 { 214 Vector vasemmalle = new Vector(- 200, 0);253 Vector vasemmalle = new Vector(-100, 0); 215 254 Pelaaja.Angle = Angle.FromDegrees(90); 216 255 Pelaaja.Hit(vasemmalle); … … 218 257 void LiikuOikealle() 219 258 { 220 Vector oikealle = new Vector( 200, 0);259 Vector oikealle = new Vector(100, 0); 221 260 Pelaaja.Angle = Angle.FromDegrees(270); 222 261 Pelaaja.Hit(oikealle); … … 242 281 } 243 282 } 283 void Ammu() 284 { 285 if (voikoampua == true) 286 { 287 ammus = new PhysicsObject(1, 1, Shape.Rectangle); 288 ammus.Position = Pelaaja.Position + Vector.FromLengthAndAngle(4, Pelaaja.Angle); 289 ammus.CollisionIgnoreGroup = 1; 290 ammus.Color = Color.Black; 291 AddCollisionHandler(ammus, vihuDamage); 292 Add(ammus); 293 Timer.SingleShot(0.5, VoiAmpua); 294 voikoampua = false; 295 if (Pelaaja.Angle == Angle.FromDegrees(0)) 296 { 297 ammus.Hit(ammuylos); 298 } 299 else if (Pelaaja.Angle == Angle.FromDegrees(90)) 300 { 301 ammus.Hit(ammuvasemmalle); 302 } 303 else if (Pelaaja.Angle == Angle.FromDegrees(180)) 304 { 305 ammus.Hit(ammualas); 306 } 307 else if (Pelaaja.Angle == Angle.FromDegrees(270)) 308 { 309 ammus.Hit(ammuoikealle); 310 } 311 } 312 } 313 void vihuDamage(PhysicsObject ammus, PhysicsObject kohde) 314 { 315 if (kohde.Tag.ToString() == "perusvihu") 316 { 317 kohde.Brain.Active = false; 318 kohde.Destroy(); 319 ammus.Destroy(); 320 } 321 else if (kohde.Tag.ToString() == "paavihu") 322 { 323 paavihunelamat -= 1; 324 ammus.Destroy(); 325 if (paavihunelamat == 0) 326 { 327 kohde.Brain.Active = false; 328 kohde.Destroy(); 329 pelinkulku += 1; 330 } 331 } 332 } 244 333 void Tormays(PhysicsObject pelaaja, PhysicsObject kohde) 245 334 { 246 335 if (kohde.Tag.ToString() == "hallitsija") 247 336 { 248 if (pelinkulku == 0)337 if (pelinkulku == 1) 249 338 { 250 339 MessageDisplay.Add("Hallitsija: Lähde matkaan, ja valtaa takaisin erilaisten olioiden hallussaan pitämät kylät!"); 251 MessageDisplay.Add("Sinun kannattaa aloittaa kylien valtaaminen lähtemällä länteen."); 252 pelinkulku++; 253 } 254 if (pelinkulku == 1) 255 { 256 340 MessageDisplay.Add("Sinun kannattaa aloittaa kylien valtaaminen lähtemällä tietä pitkin länteen, ja kääntymällä risteyksestä etelään."); 257 341 } 258 342 if (pelinkulku == 2) 259 343 { 260 MessageDisplay.Add("Hallitsija: Kiitos, olet vallannut ensimmäisen kylän takaisin!Se ei kuitenkaan vielä riitä..."); 344 MessageDisplay.Add("Hallitsija: Kiitos, olet vallannut ensimmäisen kylän takaisin!Se ei kuitenkaan vielä riitä."); 345 MessageDisplay.Add("Lähde itään, ja käänny ensin pohjoiseen ja sitten länteen"); 261 346 } 262 347 if (pelinkulku == 3) 263 348 { 264 MessageDisplay.Add("Hallitsija: Hyvää työtä, mutta kyliä on silti vielä valtaamatta."); 349 MessageDisplay.Add("Hallitsija: Hyvää työtä, mutta yksi kylä on silti vielä valtaamatta."); 350 MessageDisplay.Add("Viimeisen kylän löydät kulkemalla itään ja kääntymällä risteyksestä etelään.") 265 351 } 266 352 } … … 268 354 void Damage1(object lahettajaAivot, EventArgs e) 269 355 { 356 if (kuolematon == false) 357 { 270 358 pelaajanelamat -= 1; 271 359 MessageDisplay.Add("Elämät" + pelaajanelamat); 360 kuolematon = true; 361 Timer.SingleShot(1,TeeKuolevaiseksi); 362 } 272 363 if (pelaajanelamat == 0) 273 364 { … … 276 367 } 277 368 } 369 void Damage2(object lahettajaAivot, EventArgs e) 370 { 371 if (kuolematon == false) 372 { 373 pelaajanelamat -= 2; 374 MessageDisplay.Add("Elämät" + pelaajanelamat); 375 kuolematon = true; 376 Timer.SingleShot(1, TeeKuolevaiseksi); 377 } 378 if (pelaajanelamat == 0) 379 { 380 Pelaaja.Destroy(); 381 MessageDisplay.Add("KUOLIT!!! Peli alkoi uudestaan."); 382 } 383 } 384 void TeeKuolevaiseksi() 385 { 386 kuolematon = false; 387 } 388 void VoiAmpua() 389 { 390 voikoampua = true; 391 } 278 392 } -
2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel QuestContent/Pixel QuestContent.contentproj
r2080 r2102 83 83 <Processor>TextureProcessor</Processor> 84 84 </Compile> 85 <Compile Include="Paatalo_katto.bmp"> 86 <Name>Paatalo_katto</Name> 85 </ItemGroup> 86 <ItemGroup> 87 <Compile Include="Talo.bmp"> 88 <Name>Talo</Name> 87 89 <Importer>TextureImporter</Importer> 88 90 <Processor>TextureProcessor</Processor> 89 91 </Compile> 90 <Compile Include="Paavihu.bmp"> 91 <Name>Paavihu</Name> 92 <Importer>TextureImporter</Importer> 93 <Processor>TextureProcessor</Processor> 94 </Compile> 95 <Compile Include="Vihu.bmp"> 92 </ItemGroup> 93 <ItemGroup> 94 <Compile Include="Vihu.png"> 96 95 <Name>Vihu</Name> 97 96 <Importer>TextureImporter</Importer> … … 100 99 </ItemGroup> 101 100 <ItemGroup> 102 <Compile Include=" Talo.bmp">103 <Name> Talo</Name>101 <Compile Include="Paavihu.png"> 102 <Name>Paavihu</Name> 104 103 <Importer>TextureImporter</Importer> 105 104 <Processor>TextureProcessor</Processor>
Note: See TracChangeset
for help on using the changeset viewer.