public void Animate(Level level) { if (activated && frameIndexX < (32 * 7) && (level.count % 2) == 0) { frameIndexX += 32; } }
public void Update(Level level) { kbo = kb; gpo = gp; kb = Keyboard.GetState(); this.gp = GamePad.GetState(PlayerIndex.One); }
public virtual void CheckCollisions(Level level) { // Check collisions with enemies foreach (Enemy e in level.enemies) { if (Intersects(e)) { destroyed = true; // TODO: Move enemy logic to enemy class e.health -= damage; e.spriteColor = Color.Red; e.hurtPoint = level.count; } } // check collisions with blocks foreach (Sprite s in level.items) { if (s.isSolid && Intersects(s)) destroyed = true; } if (offScreen) destroyed = true; }
public void CheckCollisions(Level level) { // check collisions with player if (Intersects(level.player) && !level.player.invulnerable) { level.player.Death(level); destroyed = true; } // check collisions with blocks foreach (Sprite s in level.items) { if (s.isSolid && Intersects(s)) destroyed = true; } foreach (Sprite s in level.projectiles) { if (s is Shot && Intersects(s)) { s.destroyed = true; health--; hurt_point = level.count; spriteColor = Color.Red; if (health == 0) { destroyed = true; } } } if (offScreen) destroyed = true; }
public override void Update(Level level) { base.Update(level); Move(level); Animate(level); }
public void Animate(Level level) { if (level.count - hurt_point > 2 && spriteColor == Color.Red) { spriteColor = Color.White; } }
public void Action(Level level) { if (activated) return; soundList["Sounds/button.wav"].Play(); int number = int.Parse(name.Split(' ')[1]); foreach (Sprite s in level.items) { if (s.name.Contains("Block") && int.Parse(s.name.Split(' ')[1]) == number ) { ((Block)s).changeType("push"); } if (s.name.Contains("Gate") && int.Parse(s.name.Split(' ')[1]) == number ) { s.isSolid = false; //Console.WriteLine(number); ((Block)s).changeType("transparent"); } } activated = true; }
public override void Update(Level level, ContentManager content) { // Move Move(level); // Be killed if necessary destroyed = (health <= 0); }
public void Action(Player player, Level level) { player.powerup[name] = true; level.message_point = level.count; if (name == "jetpack") level.message = "Press and hold the jump button to jetpack!"; else if (name == "charged") level.message = "Press and hold the right trigger to charge a super shot!"; }
public override void Update(Level level, ContentManager content) { if (level.count % 125 == 0) { Fireball fireball = new Fireball( spriteX + (faceLeft ? -63 : 31), spriteY - 16, direction ); fireball.LoadContent(content); level.projectiles.Add((Sprite)fireball); } }
public void Action(Player player, Level level) { player.powerup[name] = true; player.worldPowerUp = name; level.message_point = level.count; if (name == "jetpack") level.message = "Press and hold the jump button to jetpack!"; else if (name == "charged") level.message = "Press and hold the right trigger to charge a super shot!"; else if (name == "puddle") level.message = "Press and hold down to turn into a puddle and avoid damage!"; }
public Level(Level l) { player = l.player; enterPowerUps = new Dictionary<string,bool>(l.enterPowerUps); enterLives = l.player.lives; enemies = new List<Enemy>(l.enemies); projectiles = new List<Sprite>(l.projectiles); items = new List<Sprite>(l.items); message = l.message; message_point = l.message_point; name = l.name; content = l.content; }
public override void CheckCollisions(Level level) { base.CheckCollisions(level); foreach (Sprite s in level.items) { if (s is Block && Intersects(s)) { Block b = (Block)s; if (b.blockType == "break") b.destroyed = true; } } }
public void Action(Level level) { if (activated) return; activated = true; if (holdButton) soundList["Sounds/HoldButtonPress.wav"].Play(); else soundList["Sounds/button.wav"].Play(); if (name.Contains("Credits")) { this.creditScreen = true; slideImage = level.content.Load<Texture2D>("Slides/credits.png"); return; } if (name.Contains("Controls")) { this.controlScreen = true; slideImage = level.content.Load<Texture2D>("Slides/pause0.png"); return; } int number = int.Parse(name.Split(' ')[1]); foreach (Sprite s in level.items) { if (s.name.Contains("Block") && int.Parse(s.name.Split(' ')[1]) == number ) { ((Block)s).changeType("push"); foreach (Sprite s2 in level.items) { if (s2 is Block) ((Block)s2).neighborsFound = false; } } else if (s.name.Contains("Gate") && int.Parse(s.name.Split(' ')[1]) == number ) { ((Block)s).changeType("transparent"); } else if (s.name.Contains("Invis") && int.Parse(s.name.Split(' ')[1]) == number) { ((Block)s).changeType("temp"); } } }
public void CheckCollisions(Level level) { if (Intersects(level.player)) { Action(level.player); foreach (Sprite s in level.items) { if (s != this && s is Checkpoint) { Checkpoint c = (Checkpoint)s; c.activated = false; c.frameIndex = 0; } } activated = true; } }
public override void Update(Level level) { base.Update(level); // Move Move(level); // Fall Fall(level); // Maybe jump if (grounded && rnd.NextDouble() > .99) Jump(level); // Animate sprite Animate(level); }
public override void Update(Level level) { // Move Move(level); // Fall Fall(level); // Maybe jump if (grounded && rnd.NextDouble() > .99) Jump(level); // Animate sprite Animate(level); // Be killed if necessary destroyed = (health <= 0); }
public void CheckCollisions(Level level) { // check collisions with player if (Intersects(level.player) && !level.player.invulnerable) { level.player.Death(level); } // check collisions with blocks foreach (Sprite s in level.items) { if (s.isSolid && Intersects(s)) destroyed = true; } if (offScreen) destroyed = true; }
public override void Update(Level level) { base.Update(level); // Move Move(level); // Shoot maybe if (level.count % 30 == 0) Shoot(level); Animate(level); if (destroyed) { foreach (Enemy e in level.enemies) e.health = 0; } }
public override void Move(Level level) { if (level.count % 80 == 0) { if (x_vel != 0) { y_vel = x_vel; x_vel = 0; } else { x_vel = -y_vel; y_vel = 0; } } spriteX += Convert.ToInt32(x_vel); spriteY += Convert.ToInt32(y_vel); }
public override void Update(Level level, ContentManager content) { // Move Move(level); // Shoot maybe if (level.count % 30 == 0) Shoot(level, content); // Be killed if necessary if (health <= 0) { destroyed = true; foreach (Enemy e in level.enemies) { e.health = 0; } level.player.newMap = "Content/Level6.tmx"; } }
public void checkCollisions(Level level) { if (Intersects(level.player)) { level.player.yVel = speed; level.player.grounded = false; if (level.player.hydration < level.player.maxHydration - 2) level.player.hydration += 2; } foreach (Enemy e in level.enemies) { if (Intersects(e)) { e.yVel = speed; e.grounded = false; } } }
public virtual void Fall(Level level) { // Fall if airborne if (!grounded) { yVel += level.gravity; if (yVel > level.maxFallSpeed) yVel = level.maxFallSpeed; spriteY += Convert.ToInt32(yVel); } else { yVel = 1; } grounded = false; // Downward collisions foreach (Sprite s in level.items) { if (s.isSolid && Intersects(s)) { // Up collision if (topWall - Convert.ToInt32(yVel) > s.bottomWall) { yVel = 0; while (topWall < s.bottomWall) spriteY++; } // Down collision else if (!grounded && (bottomWall - Convert.ToInt32(yVel)) < s.topWall) { grounded = true; while (bottomWall > s.topWall) spriteY--; } } } }
public override void Update(Level level) { // Rotate rotationAngle += 0.05f; // Fall yVel += level.gravity; if (yVel > level.maxFallSpeed) yVel = level.maxFallSpeed; spriteY += Convert.ToInt32(yVel); // Remove object if below screen if (topWall > 22 * 32) { destroyed = true; // Win game if boss is defeated if (type.Equals(typeof(Face))) level.player.newMap = "Win"; } }
public void checkCollision(Level level) { if (Intersects(level.player)) { level.player.y_vel = -4; //level.player.spriteY -= 1; level.player.grounded = false; if (level.player.hydration < level.player.maxHydration - 2) { level.player.hydration += 2; } } foreach (Enemy e in level.enemies) { if (Intersects(e)) { e.y_vel = -4; e.grounded = false; } } }
public void Action(Level level) { if (this is Pipe ) { int x = 0; int y = 0; String pipeName = this.name.Remove(this.name.Length-1); if(this.name.EndsWith("1")){ foreach (Sprite i in level.items) { if (i is Pipe) { Pipe p = (Pipe)i; if (p.name == pipeName.Insert(pipeName.Length,"2")) { x = p.spriteX; y = p.spriteY; Transport(level, x, y); } } } } else if(this.name.EndsWith("2")){ foreach (Sprite i in level.items) { if (i is Pipe) { Pipe p = (Pipe)i; if (p.name == pipeName.Insert(pipeName.Length,"1")) { x = p.spriteX; y = p.spriteY; Transport(level, x, y); } } } } } }
public virtual void CheckCollisions(Level level) { // Check collisions with enemies foreach (Enemy e in level.enemies) { if (Intersects(e)) { destroyed = true; e.health -= damage; } } // check collisions with blocks foreach (Sprite s in level.items) { if (s.isSolid && Intersects(s)) destroyed = true; } if (offScreen) destroyed = true; }
public void CheckCollisions(Level level) { if (Intersects(level.player)) { Action(level.player); if (!activated) { instance = soundList["Sounds/Checkpoint.wav"].CreateInstance(); instance.Volume = 0.7f; instance.Play(); } foreach (Sprite s in level.items) { if (s != this && s is Checkpoint) { Checkpoint c = (Checkpoint)s; c.activated = false; c.frameIndexX = 0; } } activated = true; } }
public override void Animate(Level level) { // Animate once every several frames if (level.count % 6 != 0) return; // Wings go forward if (flapUp) { if (frameIndexX < (32 * 3)) { frameIndexX += 32; } else { frameIndexX -= 32; flapUp = false; } } // Wings go backward else { if (frameIndexX > 0) { frameIndexX -= 32; } else { frameIndexX += 32; flapUp = true; } } base.Animate(level); }
public void Transport(Level level, int x, int y) { level.player.spriteX = x; level.player.spriteY = y - level.player.collisionHeight; }