diff --git a/data/level.txt b/data/level.txt index f06f1f0..6875561 100644 --- a/data/level.txt +++ b/data/level.txt @@ -1,7 +1,7 @@ ***************** -*1 4* -* * +*1 * 4* * * +** * * * * * * * diff --git a/public/js/game/kaboom.game.js b/public/js/game/kaboom.game.js index ca6268d..764772f 100644 --- a/public/js/game/kaboom.game.js +++ b/public/js/game/kaboom.game.js @@ -90,19 +90,33 @@ KaboomGame.prototype = { { if (p != null) { + /* hacky "looks right for the image we've got values */ + var width = 43; + var height = 38; + var newPos = new Position( p.position.x + game.DISTANCE * p.velocity.dx, p.position.y + game.DISTANCE * p.velocity.dy); - var tilePos = game.pixelsToTiles(newPos); - var tile = game.level.rows[tilePos.y][tilePos.x]; + + function goodPos(position) + { + var tilePos = game.pixelsToTiles(position); + var tile = game.level.rows[tilePos.y][tilePos.x]; + + try { + if (!tile.solid) + return true; + } + catch (ex) { + console.log(tilePos); + return false; + } + } - try { - if (!tile.solid) + var rightPos = new Position(newPos.x + width, newPos.y); + var downPos = new Position(newPos.x, newPos.y + height); + if (goodPos(newPos) && goodPos(rightPos) && goodPos(downPos)) p.position = newPos; - } - catch (ex) { - console.log(tilePos); - } } }); }