public RunningMario(PlayerContext context) { this.context = context; }
public void HitSideTop(PlayerContext player) { //stop player }
public BigCommand(PlayerContext player) { this.player = player; }
public TakeDamageCommand(PlayerContext player) { this.player = player; }
public void HitBottom(IContext entity, PlayerContext player, Rectangle overlap) { HitFromBottom(player); }
public void HitBottom(PlayerContext player) { //do nothing }
public CrouchingMario(PlayerContext context) { this.context = context; }
public void HitFromTopSide(PlayerContext player) { CurrentBlock.HitSideTop(player); }
public IdleMario(PlayerContext context) { this.context = context; }
public List <IEntity> LoadLevel(List <BlockContext> blockControllers, List <IEntity> enemies, Grid grid, GraphicsDeviceManager graphics) { List <TileMapInterpreter.Entities> list = InterpretNextLine(); List <IEntity> entities = new List <IEntity>(); int currentHeight = 0; while (!AtEOS()) { for (int i = 0; i < list.Count; i++) { Entities entity = list[i]; switch (entity) { case Entities.BLANK: { break; } case Entities.BRICK_COIN: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_COINS: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_ITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_NOITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.BRICK_STAR: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.COIN: { IEntity thing = new Sprites.CoinSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, CoinType.Static, CoinFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.DESTROYED: { break; } case Entities.FLOOR: { IEntity thing = new BlockContext(BlockContext.Blocks.FLOOR, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.FLOWER: { IEntity thing = new Sprites.FireFlowerSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, FireFlowerFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.GOOMBA: { IEntity thing = new Sprites.RedGoombaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, false); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.GREEN_KOOPA: { IEntity thing = new Sprites.GreenKoopaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.HIDDEN_HIDDEN: { IEntity thing = new BlockContext(BlockContext.Blocks.HIDDEN, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.HIDDEN_NONHIDDEN: { IEntity thing = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.SUPER_MUSHROOM: { IEntity thing = new Sprites.MushroomSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, MushroomType.Super); entities.Add(thing); grid.Add(thing); break; } case Entities.UP_MUSHROOM: { IEntity thing = new Sprites.MushroomSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, MushroomType._1Up); entities.Add(thing); grid.Add(thing); break; } case Entities.PLAYER: { IEntity thing = new PlayerContext(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); break; } case Entities.QUESTION_COIN: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.QUESTION_ITEM: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.QUESTION_STAR: { IEntity thing = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.RED_KOOPA: { IEntity thing = new Sprites.RedKoopaSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE); entities.Add(thing); grid.Add(thing); enemies.Add(thing); break; } case Entities.STAIR: { IEntity thing = new BlockContext(BlockContext.Blocks.STAIR, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } case Entities.STAR: { IEntity thing = new Sprites.StarmanSprite(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE, StarmanFrame.FirstFrame); entities.Add(thing); grid.Add(thing); break; } case Entities.USED: { IEntity thing = new BlockContext(BlockContext.Blocks.USED, new Vector2(i * Grid.TILE_SIDE, currentHeight * Grid.TILE_SIDE)); entities.Add(thing); grid.Add(thing); blockControllers.Add((BlockContext)thing); break; } default: { break; } } } list = InterpretNextLine(); currentHeight++; } return(entities); }
protected override void Initialize() { //Here we map the buttons and keys to our Action enum buttonsMap = new Dictionary <Buttons, ICommand>(); keysMap = new Dictionary <Keys, ICommand>(); level = new Levels.Level1(graphics); level.Initialize(); playerController = level.getPlayerController(); //BUNCH O BLOCKS TEMPORARY!!!!!! //bunchOBlocks[0] = new BlockContext(BlockContext.Blocks.BRICK, new Vector2(100, 250)); //bunchOBlocks[1] = new BlockContext(BlockContext.Blocks.USED, new Vector2(150, 250)); //bunchOBlocks[2] = new BlockContext(BlockContext.Blocks.QUESTION, new Vector2(200, 250)); //bunchOBlocks[3] = new BlockContext(BlockContext.Blocks.STAIR, new Vector2(250, 250)); //bunchOBlocks[4] = new BlockContext(BlockContext.Blocks.FLOOR, new Vector2(300, 250)); //bunchOBlocks[5] = new BlockContext(BlockContext.Blocks.HIDDEN, new Vector2(350, 250)); //add entities //entities.Add(bunchOBlocks[0]); //entities.Add(bunchOBlocks[1]); //entities.Add(bunchOBlocks[2]); //entities.Add(bunchOBlocks[3]); //entities.Add(bunchOBlocks[4]); //entities.Add(bunchOBlocks[5]); //entities.Add(player); //entities.Add(redGoombaSprite); //entities.Add(redKoopaSprite); //entities.Add(greenKoopaSprite); //entities.Add(_1UpMushroomSprite); //entities.Add(staticCoinSprite); //entities.Add(blockCoinSprite); //entities.Add(fireFlowerSprite); //entities.Add(starmanSprite); //entities.Add(superMushroomSprite); // Instances of commands ICommand quitCommand = new QuitCommand(this); ICommand moveLeftCommand = new MoveLeftCommand(playerController); ICommand moveRightCommand = new MoveRightCommand(playerController); ICommand jumpCommand = new JumpCommand(playerController); ICommand crouchCommand = new CrouchCommand(playerController); ICommand fireballCommand = new FireballCommand(playerController); ICommand pauseCommand = new PauseCommand(playerController); ICommand fireCommand = new FireCommand(playerController); ICommand bigCommand = new BigCommand(playerController); ICommand smallCommand = new SmallCommand(playerController); ICommand takeDamageCommand = new TakeDamageCommand(playerController); ICommand boundingCommand = new BoundingCommand(playerController, ((Level1)level).entities); // Assign commands to buttons buttonsMap.Add(Buttons.Start, quitCommand); buttonsMap.Add(Buttons.Back, null); buttonsMap.Add(Buttons.DPadLeft, moveLeftCommand); buttonsMap.Add(Buttons.DPadRight, moveRightCommand); buttonsMap.Add(Buttons.DPadUp, jumpCommand); buttonsMap.Add(Buttons.A, jumpCommand); buttonsMap.Add(Buttons.DPadDown, crouchCommand); buttonsMap.Add(Buttons.B, fireballCommand); buttonsMap.Add(Buttons.X, null); buttonsMap.Add(Buttons.Y, null); //buttonsMap.Add(Buttons.Start, pauseCommand); // Assign commands to keys keysMap.Add(Keys.Q, quitCommand); keysMap.Add(Keys.Left, moveLeftCommand); keysMap.Add(Keys.A, moveLeftCommand); keysMap.Add(Keys.Right, moveRightCommand); keysMap.Add(Keys.D, moveRightCommand); keysMap.Add(Keys.Up, jumpCommand); keysMap.Add(Keys.W, jumpCommand); keysMap.Add(Keys.Down, crouchCommand); keysMap.Add(Keys.S, crouchCommand); keysMap.Add(Keys.Space, fireballCommand); keysMap.Add(Keys.Escape, pauseCommand); keysMap.Add(Keys.Y, smallCommand); keysMap.Add(Keys.U, bigCommand); keysMap.Add(Keys.I, fireCommand); keysMap.Add(Keys.O, takeDamageCommand); keysMap.Add(Keys.C, boundingCommand); base.Initialize(); }
public StarMario(PlayerContext context, IPowerState returnState) { this.context = context; this.context.returnState = returnState; this.context.timer.Start(); }
public SmallCommand(PlayerContext player) { this.player = player; }
public CrouchCommand(PlayerContext player) { this.player = player; }
public MoveLeftCommand(PlayerContext player) { this.player = player; }
//possible actions public void HitFromBottom(PlayerContext player) { CurrentBlock.HitBottom(player); }
public void HandleCollision(CollisionDetector.Collision collision, Level1 level) { if (collision.entity1 is PlayerContext || collision.entity2 is PlayerContext) { PlayerContext player = null; CollisionDetector.CollisionSide side = collision.GetSide(); if (collision.entity1 is PlayerContext) { player = (PlayerContext)collision.entity1; } else { player = (PlayerContext)collision.entity2; if (side == CollisionDetector.CollisionSide.Left) { side = CollisionDetector.CollisionSide.Right; } else if (side == CollisionDetector.CollisionSide.Right) { side = CollisionDetector.CollisionSide.Left; } else if (side == CollisionDetector.CollisionSide.Top) { side = CollisionDetector.CollisionSide.Bottom; } else if (side == CollisionDetector.CollisionSide.Bottom) { side = CollisionDetector.CollisionSide.Top; } Console.WriteLine("E2"); } if (collision.entity1 is BlockContext || collision.entity2 is BlockContext) { if (side == CollisionDetector.CollisionSide.Left) { player.Location += new Vector2((float)Math.Ceiling(collision.intersection.width), 0); } else if (side == CollisionDetector.CollisionSide.Right) { player.Location -= new Vector2((float)Math.Ceiling(collision.intersection.width), 0); } else if (side == CollisionDetector.CollisionSide.Top) { player.Location += new Vector2(0, (float)Math.Ceiling(collision.intersection.height)); } else if (side == CollisionDetector.CollisionSide.Bottom) { player.Location -= new Vector2(0, (float)Math.Ceiling(collision.intersection.height)); } } else if (collision.entity1 is MushroomSprite || collision.entity2 is MushroomSprite) { if (player.currentState == MarioState.Small) { player.ChangeToSuperMario(); } } else if (collision.entity1 is FireFlowerSprite || collision.entity2 is FireFlowerSprite) { player.ChangeToFireMario(); } else if (collision.entity1 is GreenKoopaSprite || collision.entity1 is RedKoopaSprite || collision.entity1 is RedGoombaSprite || collision.entity2 is GreenKoopaSprite || collision.entity2 is RedKoopaSprite || collision.entity2 is RedGoombaSprite) { if (side == CollisionDetector.CollisionSide.Left) { player.Location += new Vector2((float)Math.Ceiling(collision.intersection.width), 0); player.Damage(); } else if (side == CollisionDetector.CollisionSide.Right) { player.Location -= new Vector2((float)Math.Ceiling(collision.intersection.width), 0); player.Damage(); } else if (side == CollisionDetector.CollisionSide.Top) { player.Location += new Vector2(0, (float)Math.Ceiling(collision.intersection.height)); player.Damage(); } else if (side == CollisionDetector.CollisionSide.Bottom) { player.Location -= new Vector2(0, (float)Math.Ceiling(collision.intersection.height)); } } } }
public void HitTop(IContext entity, PlayerContext player, Rectangle overlap) { HitFromTopSide(player); }
public void HitBottom(PlayerContext player) { //stop player somehow }
public void HitRight(IContext entity, PlayerContext player, Rectangle overlap) { }
public DeadMario(PlayerContext context) { this.context = context; }
public void HitSideTop(PlayerContext player) { //do nothing }
public FireCommand(PlayerContext player) { this.player = player; }