Skip to content

Instantly share code, notes, and snippets.

@offsky
Last active December 17, 2015 08:39
Show Gist options
  • Save offsky/5581459 to your computer and use it in GitHub Desktop.
Save offsky/5581459 to your computer and use it in GitHub Desktop.
Chutes and Ladders in Javascript (Computer vs Computer)
function roll() {
return Math.floor((Math.random()*6)+1);
}
function turn(curPos) {
var newPos = curPos+roll(); //get new position
if(newPos>100) return 100; //Win!
switch(newPos) { //apply chutes or ladders
case 1: newPos = 38; break;
case 4: newPos = 14; break;
case 9: newPos = 31; break;
case 16: newPos = 6; break;
case 21: newPos = 42; break;
case 28: newPos = 84; break;
case 36: newPos = 44; break;
case 47: newPos = 26; break;
case 49: newPos = 11; break;
case 51: newPos = 67; break;
case 56: newPos = 53; break;
case 62: newPos = 19; break;
case 64: newPos = 60; break;
case 71: newPos = 91; break;
case 80: newPos = 100; break;
case 87: newPos = 24; break;
case 93: newPos = 73; break;
case 95: newPos = 75; break;
case 98: newPos = 78; break;
}
return newPos;
}
var game = "", round = 0, playerA = 0, playerB = 0;
while(playerA!==100 && playerB!==100) {
round++;
playerA = turn(playerA);
playerB = turn(playerB);
game += "Player A: "+playerA+". Player B: "+playerB+"<br />";
}
if(playerA==100) game += "Player A Wins"; else game += "Player B Wins";
game += " in "+round+" rounds!";
$('#game').html(game);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment