diff --git a/schlangen_und_leitern/js/Bridge.js b/schlangen_und_leitern/js/Bridge.js
index 9fc20b7..2117b7f 100644
--- a/schlangen_und_leitern/js/Bridge.js
+++ b/schlangen_und_leitern/js/Bridge.js
@@ -21,7 +21,7 @@ function init(playerCount){
let playerArray = buildPlayerArray(playerCount);
//Haupt Spielschleife aufrufen
- document.getElementById("rollButton").addEventListener("click", function(){gameloop(boardArr,playerArray, playerCount);});
+ document.getElementById("rollButton").addEventListener("click", function(){gameloop(playerArray, playerCount, objectArr);});
playerInit(playerArray);
@@ -39,46 +39,56 @@ function init(playerCount){
}
-function gameloop (boardArr, playerArray, playerCount){
+function gameloop (playerArray, playerCount, objectArr){
console.log("player " + turnCount + " ist dran");
+ player = playerArray[turnCount-1];
- //würfle function aufrufen
- let roll = rollDice();
+ if(player.won == false){
+ //würfle function aufrufen
+ let roll = rollDice();
+
+ //spieler auswählen
+ //spieler newPosition mit roll Aktualisierung
+ movePlayer(player, roll);
+ //TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
+ //TODO prüfen ob jemand gewonnen hat und wenn ja spiele beenden // weiter spielen
+ checkPosition(player, objectArr);
- //spieler auswählen
- player = playerArray[turnCount-1];
- //spieler newPosition mit roll Aktualisierung
- movePlayer(player, roll);
- //TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
-
- //TODO prüfen ob jemand gewonnen hat und wenn ja spiele beenden // weiter spielen
+ //TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
+
+
+ //alter Stelle löschen
+ eraseOLd(playerArray,turnCount);
+ // setzen newPostion auf position um und neuPosition leeren
+ resetNewOld(player);
+ //spieler Stelle auf dem Brett zeichnen
+ drawNew(playerArray,turnCount);
+
- //TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
-
-
- //alter Stelle löschen
- eraseOLd(playerArray,turnCount);
- // setzen newPostion auf position um und neuPosition leeren
- resetNewOld(player);
- //spieler Stelle auf dem Brett zeichnen
- drawNew(playerArray,turnCount);
-
+ //TODO prüfen ob jemand gewonnen hat und wenn ja spiele beenden // weiter spielen
+ // bei gewinn, zwei optionen anbieten; spiel wieter oder beenden
+ //TODO verstekte new game taste der alles new setzt
+ //TODO falls spiel weiter, taste verstecken und gewohnen spieler ignorieren (schware)
- //TODO prüfen ob jemand gewonnen hat und wenn ja spiele beenden // weiter spielen
- // bei gewinn, zwei optionen anbieten; spiel wieter oder beenden
- //TODO verstekte new game taste der alles new setzt
- //TODO falls spiel weiter, taste verstecken und gewohnen spieler ignorieren (schware)
-
- // Reihezähler inkrementieren bzw. zurücksetzen
- if(turnCount >= playerCount){
- turnCount = 1;
+ // Reihezähler inkrementieren bzw. zurücksetzen
+ if(turnCount >= playerCount){
+ turnCount = 1;
+ }
+ else {
+ turnCount ++
+ }
+ //show who is up
+ turnIndicater(turnCount);
}
- else {
- turnCount ++
+ else{
+ if(turnCount >= playerCount){
+ turnCount = 1;
+ }
+ else {
+ turnCount ++
+ }
}
- //show who is up
- turnIndicater(turnCount);
}
\ No newline at end of file
diff --git a/schlangen_und_leitern/js/makeBoard.js b/schlangen_und_leitern/js/makeBoard.js
index fbf55a7..26fda34 100644
--- a/schlangen_und_leitern/js/makeBoard.js
+++ b/schlangen_und_leitern/js/makeBoard.js
@@ -248,19 +248,43 @@ function createBoardObjects(canvasPointArr, objectArray){
drawLine(objectArray[i].type,startPointX, startPointY, endPointX, endPointY)
-
-
-
-
-
+ }
}
-
+}
+function checkPosition(player, objectArr){
+
+ //above 100
+ if(player.newPosition > 100){
+ player.newPosition = 100;
+ }
+ //win condition
+ if(player.newPosition == 100){
+ player.won = true;
+ document.getElementById("continue").style.display = "block"
+ document.getElementById("replay").style.display = "block"
+ document.getElementById("würfelBereich").style.display = "none"
+ }
+
+ //snake condition
+ //ladder condition
+ for(let i = 0; i < (objectArr.length) ; i++){
+ if(player.newPosition == objectArr[i].start){
+ player.newPosition = objectArr[i].end;
+ }
+ }
+
}
-}
+function continueGame (){
+
+ document.getElementById("continue").style.display = "none"
+ document.getElementById("replay").style.display = "none"
+ document.getElementById("würfelBereich").style.display = "grid"
+
+ }
diff --git a/schlangen_und_leitern/js/playerHandling.js b/schlangen_und_leitern/js/playerHandling.js
index efc3ec0..301e439 100644
--- a/schlangen_und_leitern/js/playerHandling.js
+++ b/schlangen_und_leitern/js/playerHandling.js
@@ -5,6 +5,7 @@ function PlayerBuilder(){
this.position = 1;
this.newPosition;
+ this.won = false
}
@@ -193,19 +194,36 @@ function turnIndicater(turnCount){
default:
break;
}
+}
-}
-
-function checkWin(player){
- if(player.position == 100){
- }
-}
+function checkPosition(player, objectArr){
+
+ //above 100
+ if(player.newPosition > 100){
+ player.newPosition = 100;
+ }
+ //win condition
+ if(player.newPosition == 100){
+ player.won = true;
+ document.getElementById("continue").style.display = "block"
+ document.getElementById("replay").style.display = "block"
+ document.getElementById("würfelBereich").style.display = "none"
+ }
+ //snake condition
+ //ladder condition
+ for(let i = 0; i < (objectArr.length) ; i++){
+ if(player.newPosition == objectArr[i].start){
+ player.newPosition = objectArr[i].end;
+ }
+ }
+
+}
\ No newline at end of file