allow game to continue after local death

This commit is contained in:
yamanq 2015-07-10 01:50:39 -04:00
parent d9be46986e
commit 1025b034e8

View File

@ -69,8 +69,8 @@ function serverTransfer(coordinate,team,turn,username) {
.then( .then(
function success(data) { function success(data) {
for (var user in data) { for (var user in data) {
if (data.hasOwnProperty(user) && (user != username)) { if (data.hasOwnProperty(user) && (user != username) && (data[user][team] != "spectator") && (data[user].length > turn)) {
console.log(data[user][turn]); console.log(data[user]);
var theMove = data[user][turn]; var theMove = data[user][turn];
updateTable(theMove[1], theMove[2]); updateTable(theMove[1], theMove[2]);
var oldMove = data[user][turn - 1]; var oldMove = data[user][turn - 1];
@ -158,12 +158,18 @@ function updateScore() {
// PLAYER HANDLING // PLAYER HANDLING
function movement(x,y) { function movement(x,y) {
if (playerTeam != "spectator") {
previousSquare = table.rows[playerCoordinate[0]].cells[playerCoordinate[1]]; previousSquare = table.rows[playerCoordinate[0]].cells[playerCoordinate[1]];
nextSquare = table.rows[playerCoordinate[0] + y].cells[playerCoordinate[1] + x]; nextSquare = table.rows[playerCoordinate[0] + y].cells[playerCoordinate[1] + x];
}
timer = timer =
setTimeout(function() { setTimeout(function() {
try { try {
if (nextSquare.className.includes(playerTeam) || nextSquare.className.includes('player')) { if (nextSquare == undefined
|| nextSquare.className.includes('player')
|| playerTeam === "spectator"
|| nextSquare.className.includes(playerTeam)) {
killPlayer(playerCoordinate, playerTeam); killPlayer(playerCoordinate, playerTeam);
} }
else { else {
@ -180,10 +186,10 @@ function movement(x,y) {
updateScore(); updateScore();
serverTransfer(playerCoordinate,playerTeam,turn,username); serverTransfer(playerCoordinate,playerTeam,turn,username);
autoScroll(); autoScroll();
}
turn = turn + 1; turn = turn + 1;
movement(x,y); movement(x,y);
} }
}
catch(err) { catch(err) {
// On hit wall // On hit wall
killPlayer(playerCoordinate, playerTeam); killPlayer(playerCoordinate, playerTeam);
@ -214,10 +220,12 @@ function movePlayer(e) {
} }
} }
function killPlayer(coordinate, team) { function killPlayer(coordinate, team) {
if (playerTeam != "spectator") {
deathSquare = table.rows[coordinate[0]].cells[coordinate[1]]; deathSquare = table.rows[coordinate[0]].cells[coordinate[1]];
deathSquare.style.backgroundColor = claimedColors[team]; deathSquare.style.backgroundColor = claimedColors[team];
deathSquare.className = deathSquare.className.replace("player ", ""); deathSquare.className = deathSquare.className.replace("player ", "");
deathSquare.id = ""; deathSquare.id = "";
}
// Spectator mode first to set team to spectator // Spectator mode first to set team to spectator
spectatorMode(); spectatorMode();
serverTransfer(coordinate,team,turn,username); serverTransfer(coordinate,team,turn,username);