From a31aa2abaf8c9358eb6a912b03f5bb16cb4f3853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raphael=20Elstr=C3=B6m?= Date: Wed, 8 Feb 2023 15:05:21 +0100 Subject: [PATCH] Test: Vier Diagonal nach rechts erkannt --- vier_gewinnt/JS/gewinnErmitteln.js | 2 +- vier_gewinnt/JS/vierDiagonalRechts.js | 12 +++++++++++- vier_gewinnt/tests/test_vierDiagonalRechts.test.js | 6 +++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/vier_gewinnt/JS/gewinnErmitteln.js b/vier_gewinnt/JS/gewinnErmitteln.js index 0cab2d3..ef79924 100644 --- a/vier_gewinnt/JS/gewinnErmitteln.js +++ b/vier_gewinnt/JS/gewinnErmitteln.js @@ -7,6 +7,6 @@ function gewinnErmitteln(spalte,reihe) { alert("Spieler 1 (Grün) hat gewonnen") }if (vierInReihe(steinInReihe(reihe)) === 2) { alert("Spieler 2 (Rot) hat gewonnen") - } + } } \ No newline at end of file diff --git a/vier_gewinnt/JS/vierDiagonalRechts.js b/vier_gewinnt/JS/vierDiagonalRechts.js index b943c91..2ab394d 100644 --- a/vier_gewinnt/JS/vierDiagonalRechts.js +++ b/vier_gewinnt/JS/vierDiagonalRechts.js @@ -1,4 +1,14 @@ function vierDiagonalRechts(allSpaltenArray) { - return allSpaltenArray[0][0]; + var Gewinner =0; + for (let i = 0; i <= allSpaltenArray.length -3; i++) { + for (let j = 0; j <= allSpaltenArray[0].length -3; j++) { + if (allSpaltenArray[j][i]===1 && allSpaltenArray[j+1][i+1]===1 && allSpaltenArray[j+2][i+2]===1 && allSpaltenArray[j+3][i+3]===1) { + Gewinner = 1; + } + } + + + } + return Gewinner; } module.exports = vierDiagonalRechts; \ No newline at end of file diff --git a/vier_gewinnt/tests/test_vierDiagonalRechts.test.js b/vier_gewinnt/tests/test_vierDiagonalRechts.test.js index 8cdbdaa..e64d522 100644 --- a/vier_gewinnt/tests/test_vierDiagonalRechts.test.js +++ b/vier_gewinnt/tests/test_vierDiagonalRechts.test.js @@ -1,7 +1,11 @@ const vierDiagonalRechts = require("../JS/vierDiagonalRechts"); describe("Test Vier Gewinnt", () => { - it("Test vierDiagonalRechts: rückgabe des Arrays testen", () =>{ + it("Test vierDiagonalRechts: Vier Diagonal erkennen und Gewinner zuruek geben", () =>{ expect(vierDiagonalRechts([[1, 0, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0], [2, 1, 1, 0, 0, 0], [2, 2, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]])).toBe(1); + expect(vierDiagonalRechts([[1, 2, 1, 0, 0, 0], [2, 1, 2, 1, 0, 0], [2, 1, 1, 2, 1, 0], [2, 2, 1, 2, 1, 1], [0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]])).toBe(1); + expect(vierDiagonalRechts([[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0], [2, 1, 1, 0, 0, 0], [2, 1, 2, 1, 0, 0], [1, 2, 1, 2, 1, 0]])).toBe(1); + expect(vierDiagonalRechts([[2, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [1, 2, 1, 0, 0, 0], [2, 1, 2, 1, 0, 0], [2, 1, 2, 1, 1, 0], [2, 2, 1, 2, 1, 1]])).toBe(1); + expect(vierDiagonalRechts([[2, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [1, 2, 1, 0, 0, 0], [2, 1, 2, 1, 0, 0], [2, 1, 2, 1, 1, 0], [2, 2, 1, 2, 1, 1], [1, 0, 0, 0, 0, 0]])).toBe(1); }) }) \ No newline at end of file