Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let hold = [false, false, false, false, false];
- let dices = [getElement("0"), getElement("1"), getElement("2"), getElement("3"), getElement("4")];
- let rolls = 0;
- let total = 0;
- let sum = 0;
- function getElement(id) {
- return document.getElementById(id);
- }
- function addToTotal(value) {
- getElement("total").innerHTML = (this.total += value);
- }
- function updateTotal() {
- let e = getElement("total");
- e.value = total;
- }
- function roll() {
- if(rolls < 3){
- for(let i = 0; i<5; i++){
- if(hold[i] === false ){//fjernt eller med 0 rolls
- dices[i].value = Math.floor(Math.random()*6)+1;
- }
- }
- rolls++;
- getElement("turnNr").innerHTML = rolls;
- }
- if(rolls === 3){
- updateCells();
- }
- }
- function rollReset() {
- rolls = 0;
- for(let i =0;i<5;i++){
- dices[i].value = "-";
- dices[i].className = 'Dice';
- hold[i] = false;//added at den ikke er holdt i array mere
- }
- }
- function cellScore(name, value) {
- getElement(name).innerHTML = value;
- rollReset();
- }
- function sumDice(){
- let sum = 0;
- for(let i of dices) {
- sum += Number(i.innerHTML);
- }
- }
- function isClicked(event){
- let id = event.target.id;
- let e = event.target;
- if (e.className === 'Dice'){
- getElement(""+id).className = 'DiceHold';
- hold[id] = true;
- } else {
- getElement(""+id).className = 'Dice';
- hold[id] = false;
- }
- }
- function updateCells() {
- let e = getElement("3kind");
- let temp = "";
- for (let i = 1; i < 7; i++) {
- let temp = ("" + i) + "s";
- e = getElement(temp + "");
- if (e.disabled === false) {
- temp = "" + ens(e.id);
- e.value = temp;
- }
- }
- e = getElement("3kind");
- if (e.disabled === false) {
- temp = "" + threeOfAKind();
- e.value = temp;
- }
- e = getElement("4kind");
- if (e.disabled === false) {
- temp = "" + fourOfAKind();
- e.value = temp;
- }
- e = getElement("small");
- if (e.disabled === false) {
- temp = "" + smallStraight();
- e.value = temp;
- }
- e = getElement("large");
- if (e.disabled === false) {
- temp = "" + bigStraight();
- e.value = temp;
- }
- e = getElement("yathzy");
- if (e.disabled === false) {
- temp = "" + yatzy();
- e.value = temp;
- }
- e = getElement("1pair");
- if (e.disabled === false) {
- temp = "" + onePair();
- e.value = temp;
- }
- e = getElement("2pair");
- if (e.disabled === false) {
- temp = "" + twoPair();
- e.value = temp;
- }
- e = getElement("chance");
- if (e.disabled === false) {
- temp = "" + chance();
- e.value = temp;
- }
- updateTotal();
- }
- // ************** Top Grid **************************
- getElement("roll").onclick = roll; // Roll
- getElement("0").onclick = isClicked; //Dice 1
- getElement("1").onclick = isClicked; //Dice 2
- getElement("2").onclick = isClicked; //Dice 3
- getElement("3").onclick = isClicked; //Dice 4
- getElement("4").onclick = isClicked; //Dice 5
- // Hjælpe metode
- function occurrence(value){
- let count = 0;
- let array = dices;
- for(let i of array){
- if(i.value === value){
- count++;
- }
- }
- return count;
- }
- function onePair() {
- let e = getElement("1pair");
- let higestValue = 0;
- let foundPair = false;
- for(let i of dices) {
- let value = i.innerHTML;
- let check = occurrence(value);
- if(check == 2){
- foundPair = true;
- let temp = value * 2;
- if(temp > higestValue){
- higestValue = temp;
- }
- }
- }
- if(foundPair === true){
- return higestValue;
- } else {
- return 0;
- }
- }
- function onePairScore(event) {
- let e = event.target;
- let n = onePair();
- cellScore("1pair", n);
- e.disabled = true;
- addToTotal(n);
- }
- //lavet two pair
- function twoPair() {
- let e = getElement("2pair");
- let returntal = 0;
- let foundPair = 0;
- for(let i of dices) {
- let value = Number(i.innerHTML);
- let check = occurrence(value);
- if(check == 2){
- foundPair++;
- returntal = value= value * 2;
- }
- }
- if(foundPair === 2){
- return returantal;
- } else {
- return 0;
- }
- }
- //og two pair score
- function twoPairScore(event) {
- let e = event.target;
- let n = twoPair();
- cellScore("2pair", n);
- e.disabled = true;
- addToTotal(n);
- }
- function threeOfAKind() {
- for(let i of dices) {
- let value = i.value;
- let temp = occurrence(value);
- if (temp > 2) {
- let result = Number(value) * 3;
- return result;
- } else {
- return 0;
- }
- }
- }
- function fourOfAKind() {
- for(let i of dices) {
- let value = i.value;
- let temp = occurrence(value);
- if (temp > 3) {
- let result = Number(value) * 4;
- return result;
- } else {
- return 0;
- }
- }
- }
- function kindScore(event) {
- let e = event.target;
- let id = e.id;
- let toReturn = 0;
- if(id === "3kind"){
- toReturn = threeOfAKind();
- cellScore("3kind", toReturn);
- e.disabled = true;
- addToTotal(toReturn);
- } else if (id === "4kind") {
- toReturn = fourOfAKind();
- cellScore("4kind", toReturn);
- e.disabled = true;
- addToTotal(toReturn);
- }
- }
- function fullHouse(event) {
- let e = event.target;
- let id = e.id;
- }
- function smallStraight(){
- if(occurrence(1)===1 && occurrence(2)===1 &&
- occurrence(3)===1 && occurrence(4)===1 &&
- occurrence(5)===1) {
- return 15 + "";
- } else {
- return 0+"";
- }
- }
- function smallStraightScore(event){
- let e = event.target;
- let n = smallStraight();
- cellScore(e.id+"", n);
- e.disabled = true;
- addToTotal(n);
- }
- function bigStraight(){
- if(occurrence(2)===1 && occurrence(3)===1 &&
- occurrence(4)===1 && occurrence(5)===1 &&
- occurrence(6)===1) {
- return 20 + "";
- } else {
- return 0 +"";
- }
- }
- function bigStraightScore(event){
- let e = event.target;
- let n = bigStraight();
- cellScore(e.id+"", n);
- e.disabled = true;
- addToTotal(n);
- }
- function sumScore(value){
- sum += value;
- cellScore("sum", sum);
- }
- function bonus() {
- if(sum >= 63){
- cellScore('bonus', 50);
- }
- }
- function chance() {
- let temp = 0;
- for(let i =0; i<5; i++){
- temp += Number(dices[i].value);
- }
- return temp;
- }
- function chanceScore(event){
- let e = event.target;
- let n = chance();
- cellScore(e.id+"", n);
- e.disabled = true;
- addToTotal(n);
- }
- // ****
- function ens(id){
- let value = id.substr(0,1);
- let temp = value * Number(occurrence(value));
- return temp;
- }
- function ensScore(event) {
- let e = event.target;
- let id = e.id;
- let result = ens(id);
- cellScore(id, result);
- e.disabled = true;
- addToTotal(result);
- bonus();
- }
- // ****
- function yatzy() {
- let found = false;
- for(let i =0;i<5;i++){
- if(occurrence(i) === 5){
- found = true;
- }
- } if(found){
- return 50;
- } else {
- return 0;
- }
- }
- function yatzyScore(event){
- let e = event.target;
- let n = yatzy();
- cellScore(e.id+"", n);
- e.disabled = true;
- addToTotal(n);
- }
- //Onclick
- // ************** Bot Grid **************************
- getElement("1s").onclick = ensScore; //ens 1
- getElement("2s").onclick = ensScore; //ens 2
- getElement("3s").onclick = ensScore; //ens 3
- getElement("4s").onclick = ensScore; //ens 4
- getElement("5s").onclick = ensScore; //ens 5
- getElement("6s").onclick = ensScore; //ens 6
- getElement("1pair").onclick = onePairScore; // one pair
- getElement("2pair").onclick = twoPairScore; //two pair
- getElement("chance").onclick = chanceScore; //dice 5
- getElement("3kind").onclick = kindScore; // Three of a kind
- getElement("4kind").onclick = kindScore; // Four of a kind
- getElement("fullHouse").onclick = fullHouse; // Full House
- getElement("small").onclick = smallStraightScore; // smallStraight
- getElement("large").onclick = bigStraightScore; // largeStraight
- getElement("fullHouse").onclick = fullHouse; //full House
- getElement("yathzy").onclick = yatzyScore;//full House
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement