added death message and username (closes #25)
This commit is contained in:
+9
-7
@@ -405,17 +405,18 @@ class SnekGame {
|
||||
head[0]=(head[0]+this.dimensions[0])%this.dimensions[0];
|
||||
head[1]=(head[1]+this.dimensions[1])%this.dimensions[1];
|
||||
} else {
|
||||
return this.die();
|
||||
return this.die("literally fell out of the world", "exited the grid");
|
||||
}
|
||||
}
|
||||
|
||||
switch(this.world[head[0]][head[1]]) {
|
||||
// you hit, you die
|
||||
case WALL:
|
||||
case FIRE:
|
||||
case WALL: return this.die("thought walls were edible", "hit a wall");
|
||||
case FIRE: return this.die("burned to a crisp", "hit fire");
|
||||
case SNAKE:
|
||||
case HOLE_S:
|
||||
return this.die();
|
||||
case FLAMMABLE_S:
|
||||
return this.die("achieved every dog's dream", "ate their own tail");
|
||||
|
||||
// if either 3 consecutive segments or the whole snake is on a hole, you die
|
||||
case HOLE:
|
||||
@@ -426,7 +427,7 @@ class SnekGame {
|
||||
this.snake.length>=2 &&
|
||||
this.world[this.snake[0][0]][this.snake[0][1]]==HOLE_S &&
|
||||
this.world[this.snake[1][0]][this.snake[1][1]]==HOLE_S
|
||||
) return this.die();
|
||||
) return this.die("fell harder than their grades", "fell in a hole");
|
||||
break;
|
||||
|
||||
// you eat, you get a massive score boost
|
||||
@@ -533,7 +534,7 @@ class SnekGame {
|
||||
];
|
||||
return surrounding.some(tile => tile==FIRE);
|
||||
};
|
||||
if(this.getTilesOfType(FLAMMABLE_S).some(touchingFire)) return this.die();
|
||||
if(this.getTilesOfType(FLAMMABLE_S).some(touchingFire)) return this.die("didn't know oil was flammable", "stood on oil when it caught on fire");
|
||||
this.getTilesOfType(FLAMMABLE).filter(touchingFire).forEach(([x, y]) => this.world[x][y]=FIRE);
|
||||
}
|
||||
|
||||
@@ -567,9 +568,10 @@ class SnekGame {
|
||||
if(this.callback) this.callback('win');
|
||||
}
|
||||
|
||||
die() {
|
||||
die(message='died', reason='died') {
|
||||
this.playing=false;
|
||||
this.endPlayTime=this.playTime;
|
||||
this.death={message, reason};
|
||||
if(this.callback) this.callback('die');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user