Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****Javascript*****/
- function Die(sides) {
- if (sides == undefined) {
- this.sides = 6;
- } else {
- this.sides = sides;
- }
- }
- Die.prototype.roll = function() {
- if (this.held === 1) {
- return this.latestRoll;
- } else {
- this.latestRoll = Math.floor((Math.random() * this.sides) + 1);
- return this.latestRoll;
- }
- };
- Die.prototype.toggleHold = function() {
- if (this.held === 1) {
- this.held = 0;
- } else {
- this.held = 1;
- }
- return this.held;
- };
- var dicebag = {
- dice: [], //array with all dice ever
- addDie: function(sides) { //adds die to end
- this.dice.push(new Die(sides));
- return this.dice;
- },
- removeDie: function(index) { //removes die at index
- this.dice.pop(this.dice[index]);
- return this.dice;
- },
- rollAll: function() { //rolls all dice
- var result = [];
- for (var i = 0; i < this.dice.length; i++) {
- result.push(this.dice[i].roll());
- }
- this.latestResult = result;
- return result;
- },
- sumLastRes: function() {
- var sum = 0;
- for (var i = 0; i < this.latestResult.length; i++) {
- sum += this.latestResult[i];
- }
- return sum;
- },
- };
- /**********************************************************************
- ***********************************************************************
- *****************BIG SIX GAME******************************************
- ***********************************************************************
- **********************************************************************/
- var players = prompt("How many players?");
- function Player(tokens) {
- this.tokens = tokens;
- this.die_ = new Die(6);
- }
- var allPlayers = [];
- var cells = {
- one: 0,
- two: 0,
- three: 0,
- four: 0,
- five: 0
- };
- var turn = 1, round = 1;
- for (var i = 0; i < players; i++) {
- allPlayers.push(new Player(5));
- }
- console.log(allPlayers);
- var speed = prompt("How fast would you like the game to go? (give a number in miliseconds for each turn. smaller number = faster game)");
- var interval = setInterval(function() {
- $("#log").append("Player " + turn + " is rolling...<br>")
- var playerRoll = allPlayers[turn - 1].die_.roll();
- if (playerRoll === 6) {
- allPlayers[turn - 1].tokens--; //6 removes token from play
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (playerRoll === 5) {
- if (cells.five === 0) {
- cells.five++;
- allPlayers[turn - 1].tokens--;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (cells.five === 1) {
- cells.five--;
- allPlayers[turn - 1].tokens++;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- }
- } else if (playerRoll === 4) {
- if (cells.four === 0) {
- cells.four++;
- allPlayers[turn - 1].tokens--;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (cells.four === 1) {
- cells.four--;
- allPlayers[turn - 1].tokens++;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- }
- } else if (playerRoll === 3) {
- if (cells.three === 0) {
- cells.three++;
- allPlayers[turn - 1].tokens--;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (cells.three === 1) {
- cells.three--;
- allPlayers[turn - 1].tokens++;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- }
- } else if (playerRoll === 2) {
- if (cells.two === 0) {
- cells.two++;
- allPlayers[turn - 1].tokens--;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (cells.two === 1) {
- cells.two--;
- allPlayers[turn - 1].tokens++;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- }
- } else if (playerRoll === 1) {
- if (cells.one === 0) {
- cells.one++
- allPlayers[turn - 1].tokens--;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- } else if (cells.one === 1) {
- cells.one--;
- allPlayers[turn - 1].tokens++;
- $("#log").append("Player " + turn + " rolled a " + playerRoll + " and has " + allPlayers[turn - 1].tokens + " tokens remaining. <br>");
- }
- }
- //update cells
- $("#cell_1_tokens").html(cells.one + " tokens");
- $("#cell_2_tokens").html(cells.two + " tokens");
- $("#cell_3_tokens").html(cells.three + " tokens");
- $("#cell_4_tokens").html(cells.four + " tokens");
- $("#cell_5_tokens").html(cells.five + " tokens");
- if (allPlayers[turn - 1].tokens === 0) {
- $("#log").prepend("<h3>Player " + turn + " has won!<h3><br>");
- clearInterval(interval);
- }
- if (turn === allPlayers.length) {
- turn = 1;
- } else {
- turn++;
- }
- round++;
- }, speed);
- /**************
- Accompanying HTML
- *****************/
- <!doctype HTML>
- <html>
- <head>
- <style>
- table {
- width: 100%;
- height: 200px;
- text-align: center;
- font-size: 20px;
- font-weight: bold;
- }
- .six {
- background-color: black;
- }
- </style>
- </head>
- <body>
- <table border="2px dotted black">
- <tr>
- <td id="cell_1">
- <h4>1</h4>
- <p id="cell_1_tokens">0 tokens</p>
- </td>
- <td id="cell_2">
- <h4>2</h4>
- <p id="cell_2_tokens">0 tokens</p>
- </td>
- <td id="cell_3">
- <h4>3</h4>
- <p id="cell_3_tokens">0 tokens</p>
- </td>
- <td id="cell_4">
- <h4>4</h4>
- <p id="cell_4_tokens">0 tokens</p>
- </td>
- <td id="cell_5">
- <h4>5</h4>
- <p id="cell_5_tokens">0 tokens</p>
- </td>
- <td id="cell_6">
- <h4>6</h4>
- <p id="cell_6_tokens">0 tokens</p>
- </td>
- </tr>
- </table>
- <p id="log"></p>
- <script type="text/javascript" src="jquery-1.11.1.min (1).js"></script>
- <script type="text/javascript" src="bigsix.js"></script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement