Implementar ser tocado por enemigos

This commit is contained in:
Nulo 2021-07-01 21:16:00 +00:00
parent 764a173d51
commit d340d4168c

View file

@ -9,6 +9,7 @@ const MAP_MAX = 5000;
const MAP_SIZE = MAP_MAX - MAP_MIN; const MAP_SIZE = MAP_MAX - MAP_MIN;
const TREES_TO_WIN = 30; const TREES_TO_WIN = 30;
const TIME = 2 * 60 * 1000; const TIME = 2 * 60 * 1000;
const TIME_LOST_WHEN_HIT = 20 * 1000;
export type State = { export type State = {
current: "jugando"; current: "jugando";
@ -127,6 +128,26 @@ export function update(juego: Juego<State>, dt: number) {
} else { } else {
enemy.x -= (dt / 1000) * enemySpeed; enemy.x -= (dt / 1000) * enemySpeed;
} }
if (
boxCollision(
{
x: juego.state.pos.x,
y: getFloorY(juego) - juego.sprites.jugadorx.getHeight(juego),
width: juego.sprites.jugadorx.getWidth(juego),
height: juego.sprites.jugadorx.getHeight(juego),
},
{
x: enemy.x,
y: getFloorY(juego) - enemy.sprite.getHeight(juego),
width: enemy.sprite.getWidth(juego),
height: enemy.sprite.getHeight(juego),
}
)
) {
juego.state.enemies = juego.state.enemies.filter((e) => e.x !== enemy.x);
juego.state.time -= TIME_LOST_WHEN_HIT;
}
} }
juego.state.view.x = juego.state.view.x =