Is there a way to make the conditional statement below shorter? There is a lot of repetition as you can see:
var searchArea = function() {
// Search the area around the current position for hidden doors
if(detectWall('left') == 2) {
status.innerHTML = "Hidden Door to the left";
} else if (detectWall('right') == 2) {
status.innerHTML = "Hidden door to the right";
} else if (detectWall('up') == 2) {
status.innerHTML = "Hidden door above you";
} else if (detectWall('down') == 2) {
status.innerHTML = "Hidden door below you";
} else if (detectWall('right') == 3 || detectWall('left') == 3 || detectWall('up') == 3 || detectWall('down') == 3) {
status.innerHTML = "You are close to the fountain";
}
}
And detectWall function for reference:
var detectWall = function(dir) {
// Detect walls from the array
switch(dir) {
case 'right':
return mapArray[parseInt(player.y/20)][parseInt((player.x+20)/20)]
case 'left':
return mapArray[parseInt(player.y/20)][parseInt((player.x-20)/20)]
case 'up':
return mapArray[parseInt((player.y-20)/20)][parseInt(player.x/20)]
case 'down':
return mapArray[parseInt((player.y+20)/20)][parseInt(player.x/20)]
default:
return false
}
}
Thank you
Aucun commentaire:
Enregistrer un commentaire