From ca7b2ad5d9a793433dba6ed9100cd49a4006fd0b Mon Sep 17 00:00:00 2001 From: Lucas Thenert Date: Fri, 27 Jan 2023 12:24:43 +0100 Subject: [PATCH 1/5] Funktion Dreierpasch erstellt --- kniffel/inc/dreierPasch.js | 15 +++++++++++++++ kniffel/index.html | 1 + 2 files changed, 16 insertions(+) create mode 100644 kniffel/inc/dreierPasch.js diff --git a/kniffel/inc/dreierPasch.js b/kniffel/inc/dreierPasch.js new file mode 100644 index 0000000..d536c0e --- /dev/null +++ b/kniffel/inc/dreierPasch.js @@ -0,0 +1,15 @@ +function dreierPasch(wuerfelArr){ + let output = 0; + let countObj = {} + for(let x of wuerfelArr){ + countObj[x] = (countObj[x] || 0) + 1; + } + let vals = Object.values(countObj); + if(( vals[1] === 3) || (vals[0] === 3)|| (vals[2] === 3)){ + wuerfelArr.forEach(element => { + output += element; + }); + } + return output; + +} \ No newline at end of file diff --git a/kniffel/index.html b/kniffel/index.html index 2a2328f..fb64bd4 100644 --- a/kniffel/index.html +++ b/kniffel/index.html @@ -7,6 +7,7 @@ + Kniffel From 599eb7ac795920846935ca8b77e8c9f568fe001b Mon Sep 17 00:00:00 2001 From: Lucas Thenert Date: Fri, 27 Jan 2023 12:30:57 +0100 Subject: [PATCH 2/5] Test Dreierpasch mit verschiedenen Testfaellen --- kniffel/inc/dreierPasch.js | 3 ++- kniffel/test/test_dreierPasch.test.js | 29 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 kniffel/test/test_dreierPasch.test.js diff --git a/kniffel/inc/dreierPasch.js b/kniffel/inc/dreierPasch.js index d536c0e..a355adf 100644 --- a/kniffel/inc/dreierPasch.js +++ b/kniffel/inc/dreierPasch.js @@ -12,4 +12,5 @@ function dreierPasch(wuerfelArr){ } return output; -} \ No newline at end of file +} +module.exports = dreierPasch; \ No newline at end of file diff --git a/kniffel/test/test_dreierPasch.test.js b/kniffel/test/test_dreierPasch.test.js new file mode 100644 index 0000000..930c8b5 --- /dev/null +++ b/kniffel/test/test_dreierPasch.test.js @@ -0,0 +1,29 @@ +const dreierPasch = require('../inc/dreierPasch'); + + +//Eine Test Gruppe, mit mehreren Tests +describe('tests kniffel', () => { + + it('teste ob drei gleiche Augenzahlen existieren (Dreier Pasch)', ()=>{ + + //Vergleiche Ist- und Sollergebnis + expect(dreierPasch([2, 1, 5, 5, 5])).toBe(18); + + }); + + it('teste ob drei gleiche Augenzahlen existieren (Dreier Pasch)', ()=>{ + + //Vergleiche Ist- und Sollergebnis + expect(dreierPasch([5, 5, 5, 6, 2])).toBe(23); + + }); + + it('teste wenn drei gleiche Augenzahlen nicht existieren --> keine Punkte vergeben', ()=>{ + + //Vergleiche Ist- und Sollergebnis + expect(dreierPasch([2, 5, 6, 4, 1])).toBe(0); + + }); + + +}) From 594b2ebfd40e9af4cf141f607674ef9d357b0d24 Mon Sep 17 00:00:00 2001 From: Lucas Thenert Date: Fri, 27 Jan 2023 12:47:27 +0100 Subject: [PATCH 3/5] refactoring: Ergebisse Dreierpasch in Spielplan einfuegen --- kniffel/inc/helper.js | 47 +++++++++++++++++++++++++++++++++++++++++++ kniffel/index.html | 8 ++++---- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/kniffel/inc/helper.js b/kniffel/inc/helper.js index 5c2d58c..7cb497e 100644 --- a/kniffel/inc/helper.js +++ b/kniffel/inc/helper.js @@ -5,4 +5,51 @@ function moeglicheWuerfeZuruecksetzen(){ document.getElementById('CheckBoxWuerfel3').checked = false; document.getElementById('CheckBoxWuerfel4').checked = false; document.getElementById('CheckBoxWuerfel5').checked = false; +} + +function dreierPasch(spieler){ + + var w1 = document.getElementById('AusgabeWuerfel1').innerHTML; + var w2 = document.getElementById('AusgabeWuerfel2').innerHTML; + var w3 = document.getElementById('AusgabeWuerfel3').innerHTML; + var w4 = document.getElementById('AusgabeWuerfel4').innerHTML; + var w5 = document.getElementById('AusgabeWuerfel5').innerHTML; + let wuerfelArr = [Number(w1), Number(w2), Number(w3), Number(w4), Number(w5)]; + var sum = 0; + + + let output = 0; + let countObj = {} + for(let x of wuerfelArr){ + countObj[x] = (countObj[x] || 0) + 1; + } + let vals = Object.values(countObj); + if(( vals[1] === 3) || (vals[0] === 3)|| (vals[2] === 3)){ + wuerfelArr.forEach(element => { + output += element; + }); + } + + + switch (spieler){ + case 1: + document.getElementById('DreierPasch_Spieler1').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 2 ist an der Reihe"; + break; + case 2: + document.getElementById('DreierPasch_Spieler2').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 3 ist an der Reihe"; + break; + case 3: + document.getElementById('DreierPasch_Spieler3').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 4 ist an der Reihe"; + break; + case 4: + document.getElementById('DreierPasch_Spieler4').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 1 ist an der Reihe"; + break; + + } + moeglicheWuerfeZuruecksetzen(); + } \ No newline at end of file diff --git a/kniffel/index.html b/kniffel/index.html index fb64bd4..8003202 100644 --- a/kniffel/index.html +++ b/kniffel/index.html @@ -104,10 +104,10 @@ Dreierpasch alle Augen Zählen - - - - + + + + Viererpasch From d4280d5337bee6d742fb370f4091562747c259b5 Mon Sep 17 00:00:00 2001 From: Lucas Thenert Date: Fri, 27 Jan 2023 12:59:36 +0100 Subject: [PATCH 4/5] Funktion Viererpasch erstellt --- kniffel/index.html | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kniffel/index.html b/kniffel/index.html index 8003202..c98d1ad 100644 --- a/kniffel/index.html +++ b/kniffel/index.html @@ -7,6 +7,7 @@ + Kniffel @@ -112,10 +113,10 @@ Viererpasch alle Augen zählen - - - - + + + + Full House From 23c7414721ed053cc6d451dff368f10727b4846b Mon Sep 17 00:00:00 2001 From: Lucas Thenert Date: Fri, 27 Jan 2023 13:04:48 +0100 Subject: [PATCH 5/5] refactoring: Ergebisse Full House in Spielplan einfuegen --- kniffel/inc/helper.js | 47 ++++++++++++++++++++++++++++++++++++++++++- kniffel/index.html | 8 ++++---- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/kniffel/inc/helper.js b/kniffel/inc/helper.js index 7cb497e..edad3f2 100644 --- a/kniffel/inc/helper.js +++ b/kniffel/inc/helper.js @@ -15,7 +15,6 @@ function dreierPasch(spieler){ var w4 = document.getElementById('AusgabeWuerfel4').innerHTML; var w5 = document.getElementById('AusgabeWuerfel5').innerHTML; let wuerfelArr = [Number(w1), Number(w2), Number(w3), Number(w4), Number(w5)]; - var sum = 0; let output = 0; @@ -52,4 +51,50 @@ function dreierPasch(spieler){ } moeglicheWuerfeZuruecksetzen(); +} + +function fullHouse(spieler){ + + var w1 = document.getElementById('AusgabeWuerfel1').innerHTML; + var w2 = document.getElementById('AusgabeWuerfel2').innerHTML; + var w3 = document.getElementById('AusgabeWuerfel3').innerHTML; + var w4 = document.getElementById('AusgabeWuerfel4').innerHTML; + var w5 = document.getElementById('AusgabeWuerfel5').innerHTML; + let wuerfelArr = [Number(w1), Number(w2), Number(w3), Number(w4), Number(w5)]; + + + + let output = 0; + let countObj = {} + for(let x of wuerfelArr){ + countObj[x] = (countObj[x] || 0) + 1; + } + let vals = Object.values(countObj); + if((vals[0] === 2 && vals[1] === 3) || (vals[1] === 2 && vals[0] === 3)){ + output = 25; + } + + + + switch (spieler){ + case 1: + document.getElementById('fullHouse_Spieler1').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 2 ist an der Reihe"; + break; + case 2: + document.getElementById('fullHouse_Spieler2').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 3 ist an der Reihe"; + break; + case 3: + document.getElementById('fullHouse_Spieler3').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 4 ist an der Reihe"; + break; + case 4: + document.getElementById('fullHouse_Spieler4').innerHTML = output; + document.getElementById('aktuellerSpieler').innerHTML = "Spieler 1 ist an der Reihe"; + break; + + } + moeglicheWuerfeZuruecksetzen(); + } \ No newline at end of file diff --git a/kniffel/index.html b/kniffel/index.html index c98d1ad..6494951 100644 --- a/kniffel/index.html +++ b/kniffel/index.html @@ -121,10 +121,10 @@ Full House 25 Punkte - - - - + + + + Kleine Straße