- Timestamp:
- 2014-06-06 12:21:41 (9 years ago)
- Location:
- 2014/23/VilppuP/RogueMike/RogueMike
- Files:
-
- 2 added
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/23/VilppuP/RogueMike/RogueMike/RogueMike/RogueMike.cs
r4878 r4888 27 27 GameObject crosshairobject; 28 28 IntMeter pointcalculator = new IntMeter(100, 0, 100); 29 private int enemyHealth;30 29 Label attributewindow; 31 30 Label pointScreen; 32 PhysicsObject ovi;31 //PhysicsObject ovi; 33 32 int enemycount = 0; 33 private List<PhysicsObject> ovetLista = new List<PhysicsObject>(); 34 34 35 35 public override void Begin() 36 36 { 37 37 38 38 // TODO: Kirjoita ohjelmakoodisi tähän 39 39 40 40 MultiSelectWindow mainmenu = new MultiSelectWindow("Main Menu", "Begin", "About", "Quit"); 41 41 //mainmenu.AddItemHandler(0, StartGame); … … 55 55 QuitGame.Clicked += Exit; 56 56 QuitGame.Clicked += menuclickaction; 57 Level.Background.Image = floor; 58 Level.Background.TileToLevel(); 57 59 58 60 59 Window menuwindow = new Window(); … … 67 66 startbutton.Clicked += menuwindow.Close; 68 67 69 68 IsFullScreen = false; 69 70 Level.Background.Color = Color.White; 71 72 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 73 //Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 74 75 Label versiontext = new Label("In development"); 76 versiontext.X = Screen.Right - 85; 77 versiontext.Y = Screen.Bottom + 25; 78 Add(versiontext, 3); 79 80 MediaPlayer.IsMuted = true; 81 MediaPlayer.IsRepeating = true; 82 MediaPlayer.Volume = 0.7; 83 84 MediaPlayer.Play("music1"); 85 86 } 87 88 void menuclickaction() 89 { 90 menuclick.Play(); 91 } 92 93 void StartGame() 94 { 95 int level = RandomGen.NextInt(1, 4); 96 ClearAll(); 70 97 Mouse.IsCursorVisible = false; 71 98 72 99 playercharacter = new PhysicsObject(38, 50); 73 100 74 101 Add(playercharacter, 3); 75 102 playercharacter.Image = player; … … 81 108 rifle.FireRate = 100; 82 109 rifle.Power.DefaultValue = 100; 83 rifle.Image = revolver;110 rifle.Image = null; 84 111 playercharacter.Add(rifle); 85 112 //Add(rifle); 86 113 87 114 88 PlayerControls();89 GenerateLevel();90 91 Level.CreateBorders(0, true);92 115 93 116 94 117 crosshairobject = new GameObject(50, 50); 95 118 crosshairobject.Image = crosshair; 96 Add(crosshairobject, 3); 97 98 99 IsFullScreen = false; 119 Add(crosshairobject, 3); 120 100 121 SmoothTextures = true; 122 MediaPlayer.IsMuted = false; 123 124 125 //AddCollisionHandler(ammus, enemy1, ProjectileHit); 126 127 PlayerControls(); 128 GenerateLevel(level); 129 Level.Background.Color = Color.Black; 130 Level.CreateBorders(0, false); 101 131 Camera.ZoomToLevel(); 102 132 103 104 105 MediaPlayer.IsMuted = true; 106 MediaPlayer.IsRepeating = true; 107 MediaPlayer.Volume = 0.7; 108 109 AddCollisionHandler(playercharacter, enemy1, PlayerCollisionEnemy); 110 //AddCollisionHandler(ammus, enemy1, ProjectileHit); 111 112 113 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 114 //Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 115 116 Label versiontext = new Label("In development"); 117 versiontext.X = Screen.Right - 85; 118 versiontext.Y = Screen.Bottom + 25; 119 Add(versiontext, 3); 120 121 } 122 123 void menuclickaction() 124 { 125 menuclick.Play(); 126 } 127 128 void StartGame() 129 { 130 133 AddCollisionHandler(playercharacter, "enemy", PlayerCollisionEnemy); 134 AddCollisionHandler(playercharacter, "levelSwitchLeft", delegate(PhysicsObject p, PhysicsObject s) 135 { 136 ChooseLevel(p, s, new Vector(Level.Right - 80, 0)); 137 }); 138 139 AddCollisionHandler(playercharacter, "levelSwitchRight", delegate(PhysicsObject p, PhysicsObject s) 140 { 141 ChooseLevel(p, s, new Vector(Level.Left + 80, 0)); 142 }); 143 144 AddCollisionHandler(playercharacter, "levelSwitchTop", delegate(PhysicsObject p, PhysicsObject s) 145 { 146 ChooseLevel(p, s, new Vector(0, Level.Bottom + 80)); 147 }); 148 149 AddCollisionHandler(playercharacter, "levelSwitchBottom", delegate(PhysicsObject p, PhysicsObject s) 150 { 151 ChooseLevel(p, s, new Vector(0, Level.Top - 80)); 152 }); 153 154 Level.Background.Image = floor; 155 Level.Background.TileToLevel(); 156 131 157 playercharacter.Position = Vector.Zero; 132 158 pointcalculator.Value = pointcalculator.MaxValue; 133 159 IsPaused = false; 134 MediaPlayer.IsMuted = false; 135 MediaPlayer.Play("music1"); 160 136 161 pointcalculator.LowerLimit += GameOver; 137 162 } … … 158 183 Keyboard.Listen(Key.S, ButtonState.Released, MovePlayer, "", new Vector(0, 0)); 159 184 Keyboard.Listen(Key.Tab, ButtonState.Down, StatWindow, ""); 160 Keyboard.Listen(Key.Tab, ButtonState.Released, HideStatWindow 185 Keyboard.Listen(Key.Tab, ButtonState.Released, HideStatWindow, null); 161 186 Keyboard.Listen(Key.Escape, ButtonState.Pressed, PauseGame, "Quit game"); 162 187 Keyboard.Listen(Key.R, ButtonState.Pressed, StartGame, "Clear"); 163 188 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Shoot, "Shoot"); 164 189 Mouse.ListenMovement(0.0, KuunteleLiiketta, null); 165 190 166 191 } 167 192 … … 192 217 { 193 218 //playercharacter.Velocity = suunta; 194 playercharacter.Push(suunta *40);195 219 playercharacter.Push(suunta * 40); 220 196 221 } 197 222 … … 199 224 { 200 225 201 playercharacter.Angle = (Mouse.PositionOnWorld - playercharacter.Position).Angle; 202 crosshairobject.Position = Mouse.PositionOnWorld; 203 } 204 205 void GenerateLevel() 206 { 207 ColorTileMap tiles = ColorTileMap.FromLevelAsset("level1"); 226 playercharacter.Angle = (crosshairobject.Position - playercharacter.Position).Angle; 227 //crosshairobject.Position = Mouse.PositionOnWorld; 228 crosshairobject.Move(hiirenTila.MouseMovement * 1); 229 if (crosshairobject.Position.X < Level.Left) 230 { 231 crosshairobject.Position = new Vector(Level.Left, crosshairobject.Position.Y); 232 } 233 234 if (crosshairobject.Position.X > Level.Right) 235 { 236 crosshairobject.Position = new Vector(Level.Right, crosshairobject.Position.Y); 237 } 238 239 if (crosshairobject.Position.Y < Level.Bottom) 240 { 241 crosshairobject.Position = new Vector(crosshairobject.Position.X, Level.Bottom); 242 } 243 244 if (crosshairobject.Position.Y > Level.Top) 245 { 246 crosshairobject.Position = new Vector(crosshairobject.Position.X, Level.Top); 247 } 248 } 249 250 void GenerateLevel(int level) 251 { 252 ColorTileMap tiles = ColorTileMap.FromLevelAsset("level" +level); 208 253 209 254 tiles.SetTileMethod(Color.White, GenerateWall); … … 211 256 tiles.SetTileMethod(new Color(0, 38, 255), GenerateObstacle1); 212 257 tiles.SetTileMethod(new Color(25, 255, 0), EnemySpider); 258 tiles.SetTileMethod(Color.Red, SwitchLevel, false); 259 tiles.SetTileMethod(new Color(72, 0, 255), SwitchLevel, true); 213 260 214 261 tiles.Execute(20, 20); … … 231 278 void GenerateDoor(Vector paikka, double leveys, double korkeus) 232 279 { 233 ovi = GenerateAll(paikka, leveys, korkeus, door);280 PhysicsObject ovi = GenerateAll(paikka, leveys, korkeus, door); 234 281 Add(ovi); 282 ovetLista.Add(ovi); 283 } 284 285 void SwitchLevel(Vector paikka, double leveys, double korkeus, bool horizontal) 286 { 287 PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); 288 if (horizontal) 289 { 290 if (paikka.X < 0) 291 { 292 seina.Tag = "levelSwitchLeft"; 293 } 294 else 295 { 296 seina.Tag = "levelSwitchRight"; 297 } 298 } 299 else 300 { 301 if (paikka.Y < 0) 302 { 303 seina.Tag = "levelSwitchBottom"; 304 } 305 else 306 { 307 seina.Tag = "levelSwitchTop"; 308 } 309 } 310 311 seina.Color = Color.Transparent; 312 seina.Position = paikka; 313 Add(seina); 235 314 } 236 315 … … 254 333 void EnemySpider(Vector paikka, double leveys, double korkeus) 255 334 { 256 PhysicsObject enemy = new PhysicsObject(leveys, korkeus);335 Vihu enemy = new Vihu(leveys*2, korkeus*2); 257 336 enemy.Image = enemyspider; 258 337 enemy.Position = paikka; … … 284 363 //randombrain.Speed = 100; 285 364 //enemy1.Brain = randombrain; 286 365 287 366 //randombrain.Active = true; 288 367 … … 334 413 //menu.Closed += delegate { menu.Destroy(); }; 335 414 Add(menu); 336 MediaPlayer. Stop();415 MediaPlayer.IsMuted = true; 337 416 338 417 } … … 374 453 void ProjectileHit(PhysicsObject ammus, PhysicsObject enemy) 375 454 { 376 if (enemy.Tag == "enemy") 377 { 378 379 enemyHealth++; 380 if (enemyHealth >= 3) 455 if (enemy.Tag.ToString() == "enemy") 456 { 457 ammus.Destroy(); 458 (enemy as Vihu).ElamaLaskuri.Value--; 459 460 if ((enemy as Vihu).ElamaLaskuri.Value <= 0) 461 enemy.Destroy(); 462 463 var viholliset = GetObjectsWithTag("enemy"); 464 465 int elossa = 0; 466 foreach(var vihu in viholliset) 381 467 { 382 ammus.Destroy(); 383 enemy.Destroy(); 468 if ((vihu as Vihu).ElamaLaskuri.Value > 0) 469 elossa++; 470 } 471 472 if (elossa == 0) 473 { 474 foreach (PhysicsObject ovi in ovetLista) 475 { 476 ovi.Destroy(); 477 } 478 384 479 } 385 480 } … … 394 489 // base.Update(time); 395 490 //} 491 492 void ChooseLevel(PhysicsObject player, PhysicsObject seina, Vector uusipaikka) 493 { 494 enemycount = 0; 495 StartGame(); 496 playercharacter.Position = uusipaikka; 497 } 498 396 499 } 500 501 class Vihu : PhysicsObject 502 { 503 private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 504 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 505 506 public Vihu(double leveys, double korkeus) 507 : base(leveys, korkeus) 508 { 509 } 510 } -
2014/23/VilppuP/RogueMike/RogueMike/RogueMikeContent/RogueMikeContent.contentproj
r4878 r4888 67 67 </ItemGroup> 68 68 <ItemGroup> 69 <Compile Include="level .png">70 <Name>level </Name>69 <Compile Include="level3.png"> 70 <Name>level3</Name> 71 71 <Importer>TextureImporter</Importer> 72 72 <Processor>TextureProcessor</Processor> … … 176 176 </Compile> 177 177 </ItemGroup> 178 <ItemGroup> 179 <Compile Include="level2.png"> 180 <Name>level2</Name> 181 <Importer>TextureImporter</Importer> 182 <Processor>TextureProcessor</Processor> 183 </Compile> 184 </ItemGroup> 178 185 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 179 186 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.