diff --git a/vier_gewinnt/JS/vierInSpalte.js b/vier_gewinnt/JS/vierInSpalte.js index 6fb48b8..a900485 100644 --- a/vier_gewinnt/JS/vierInSpalte.js +++ b/vier_gewinnt/JS/vierInSpalte.js @@ -1,13 +1,18 @@ -function vierInSpalte(spalte){ - if(spalte == [0, 0, 1, 1, 1, 1] || spalte == [0, 1, 1, 1, 1, 0] || spalte == [1, 1, 1, 1, 0, 0]|| spalte == [1, 1, 1, 1, 1, 0]|| spalte == [0, 1, 1, 1, 1, 1]|| spalte == [1, 1, 1, 1, 1, 1] || spalte == [2, 2, 1, 1, 1, 1] || spalte == [2, 1, 1, 1, 1, 2] || spalte == [1, 1, 1, 1, 2, 2]|| spalte == [1, 1, 1, 1, 1, 2]|| spalte == [2, 1, 1, 1, 1, 1]){ - //Spieler Gruen - return 1; +function vierInSpalte(arr){ + var Gewinner = 0; + //Spieler Gruen + for (let i = 0; i < arr.length - 3; i++) { + if (arr[i] === 1 && arr[i + 1] === 1 && arr[i + 2] === 1 && arr[i + 3] === 1) { + Gewinner = 1; + } } - else if(spalte == [0, 0, 2, 2, 2, 2] || spalte == [0, 2, 2, 2, 2, 0] || spalte == [2, 2, 2, 2, 0, 0]|| spalte == [2, 2, 2, 2, 2, 0]|| spalte == [0, 2, 2, 2, 2, 2]|| spalte == [2, 2, 2, 2, 2, 2] || spalte == [1, 1, 2, 2, 2, 2] || spalte == [1, 2, 2, 2, 2, 1] || spalte == [2, 2, 2, 2, 1, 1]|| spalte == [2, 2, 2, 2, 2, 1]|| spalte == [1, 2, 2, 2, 2, 2]){ - //Spieler Rot - return 2; - } else { - return 0; + //Spieler Rot + for (let i = 0; i < arr.length - 3; i++) { + if (arr[i] === 2 && arr[i + 1] === 2 && arr[i + 2] === 2 && arr[i + 3] === 2) { + Gewinner = 2; + } } + return Gewinner; + } module.exports = vierInSpalte; \ No newline at end of file diff --git a/vier_gewinnt/tests/test_vierInSpalte.test.js b/vier_gewinnt/tests/test_vierInSpalte.test.js new file mode 100644 index 0000000..e675dee --- /dev/null +++ b/vier_gewinnt/tests/test_vierInSpalte.test.js @@ -0,0 +1,10 @@ +const vierInSpalte = require("../JS/vierInSpalte"); + +describe("Test Vier Gewinnt", () => { + it("Test vier Stein in einer Spalte vorhanden und gebe Gewinner 1 aus", () =>{ + expect(vierInSpalte([1, 1, 1, 1, 0, 0])).toBe(1); + }) + it("Test vier Stein in einer Spalte vorhanden und gebe Gewinner 2 aus", () =>{ + expect(vierInSpalte([0, 2, 2, 2, 2, 0])).toBe(2); + }) +}) \ No newline at end of file