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 roll() {
- if(rolls < 3){
- for(let i = 0; i<5; i++){
- if(hold[i] === false || rolls === 0){
- dices[i].value = Math.floor(Math.random()*6)+1;
- }
- }
- rolls++;
- //udater alle udregninger
- }
- getElement("turnNr").innerHTML = rolls;
- }
- function rollReset() {
- rolls = 0;
- for(let i of dices){
- i.value = "-";
- }
- }
- function disable(name) {
- let e = getElement(name);
- e.disable();
- }
- function cellScore(name, value) {
- getElement(name).innerHTML = value;
- rollReset();
- }
- function sumDice(){
- let sum = 0;
- for(let i of dices) {
- sum += Number(i.innerHTML);
- }
- }
- function isheld(event){
- let id =""+ Number(event.target.id);
- let e = event.target;
- let index = Number(id);
- if(e.className === 'Dice'){
- getElement(""+id).className = "DiceHold"
- hold[id] = true;
- }else{
- getElement(""+id).className = "Dice"
- hold[id] = false;
- }
- }
- // anden js?
- function kindScore(value , KindVal){
- let numersOfAKind =0;
- for(let i = 0;i<5;i++){
- if(Number(dices[i].innerHTML ===value)){
- numersOfAKind++;
- }
- }if(numersOfAKind>= KindVal){
- return sumDice();
- }else{
- return undefined;
- }
- }
- function Kind(KindVal){
- function f2() {
- let score = 0;
- for(let i =0;i<7;i++){
- score = kindScore(i,KindVal);
- if(score){
- if(KindVal ===3){
- cellScore('3kind',score)
- }else{
- cellScore('4kind',score)
- }
- }
- }
- }return f2;
- }
- function fullHouse(){
- let ThreeOfAKindFound =0;
- let TwoOfAKindFound =0;
- for(let i = 0 ;i<7;i++){
- if(kindScore(i,3)){
- ThreeOfAKindFound = i;
- }
- }
- for(let i = 0 ;i<7;i++){
- if(ThreeOfAKindFound !==1 && kindScore(i,2)){
- TwoOfAKindFound = i;
- }
- }
- if(ThreeOfAKindFound && TwoOfAKindFound){
- cellScore("fullHouse",25)
- }
- }
- function occurrence(value){
- let count = 0;
- let array = dices;
- for(let i of array){
- if(i.innerHTML === value){
- count++;
- }
- }
- return count;
- }
- function smallStraight(){
- if(occurrence(1)===1 &&
- occurrence(2)===1 &&
- occurrence(3)===1 &&
- occurrence(4)===1 &&
- occurrence(5)===1){
- cellScore("small",15)
- disable(getElement('small'));
- }
- }
- function bigStraight(){
- if(occurrence(2)===1 &&
- occurrence(3)===1 &&
- occurrence(4)===1 &&
- occurrence(5)===1 &&
- occurrence(6)===1){
- cellScore("large",20)
- disable(getElement('large'));
- }
- }
- function Sum(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 += dices[i].innerHTML;
- }
- cellScore('chance',temp);
- disable(getElement('chance'));
- }
- function ens(event){
- let id = event.target.id;
- let value = Number(id.substr(0,1))
- let temp = 0;
- for(let i = 0;i<5;i++){
- if(dices[i].innerHTML ===value){
- temp += value;
- }
- }
- if(id ==='1s'){
- cellScore("1s",temp);
- disable(getElement('1s'));
- }else if(id ==='2s'){
- cellScore("2s",temp);
- disable(getElement('2s'));
- }else if(id ==='3s'){
- cellScore("3s",temp);
- disable(getElement('3s'));
- }else if(id ==='4s'){
- cellScore("4s",temp);
- disable(getElement('4s'));
- }else if(id ==='5s'){
- cellScore("5s",temp);
- disable(getElement('5s'));}
- else if(id ==='6s'){
- cellScore("6s",temp);
- disable(getElement('6s'));
- }
- Sum(temp)
- bonus()
- }
- function Yatzy(){
- for(let i =0;i<5;i++){
- if(occurrence(i)===5){
- cellScore("yathzy",50);
- disable(getElement('yathzy'));
- }
- }
- }
- //End of Dice functions
- //onclicks
- getElement("roll").onclick = roll;// roller mega godt
- getElement("0").onclick = isheld; //dice 1
- getElement("1").onclick = isheld; //dice 2
- getElement("2").onclick = isheld; //dice 3
- getElement("3").onclick = isheld; //dice 4
- getElement("4").onclick = isheld; //dice 5
- getElement("1s").onclick = ens; //ens 1
- getElement("2s").onclick = ens; //ens 2
- getElement("3s").onclick = ens; //ens 3
- getElement("4s").onclick = ens; //ens 4
- getElement("5s").onclick = ens; //ens 5
- getElement("6s").onclick = ens; //ens 6
- getElement("chance").onclick = Chance; //dice 5
- getElement("3kind").onclick = Kind(3); // 3 of a kind
- getElement("4kind").onclick = Kind(4); // 4 of a kind
- getElement("small").onclick = smallStraight; // smallStraight
- getElement("large").onclick = bigStraight; // largeStraight
- getElement("fullHouse").onclick = fullHouse; //full House
- // husk at returne 0??
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement