Browse Source

eine Funktion erstellt, die prüft, ob ein Spieler auf einer Schlange oder Leiter steht und ob er gewonnen hat

main
Richard Halsall 2 years ago
parent
commit
065d257bcf
  1. 4
      schlangen_und_leitern/HTML.html
  2. 68
      schlangen_und_leitern/js/Bridge.js
  3. 32
      schlangen_und_leitern/js/makeBoard.js
  4. 28
      schlangen_und_leitern/js/playerHandling.js

4
schlangen_und_leitern/HTML.html

@ -9,7 +9,6 @@
<script type= "text/javascript" src="js/makeBoard.js"></script> <script type= "text/javascript" src="js/makeBoard.js"></script>
<script type= "text/javascript" src="js/Bridge.js"></script> <script type= "text/javascript" src="js/Bridge.js"></script>
<script type= "text/javascript" src="js/playerHandling.js"></script> <script type= "text/javascript" src="js/playerHandling.js"></script>
<title>Document</title> <title>Document</title>
@ -33,6 +32,9 @@
</div> </div>
<div id = "rightSide"> <div id = "rightSide">
<p id ="isUp">Spieler 1 ist dran</p> <p id ="isUp">Spieler 1 ist dran</p>
<input type="button" id ="replay" onclick="document.location.reload(true)" value = "Replay" style="display: none;">
<input type="button" id ="continue" onclick= "continueGame()" value = "continue playing"style="display: none;">
<div class = container id="würfelBereich" style="display: none;" > <div class = container id="würfelBereich" style="display: none;" >
<img src="/img/wurfle/f(1).png" id="face"> <img src="/img/wurfle/f(1).png" id="face">
<input type = "button" id="rollButton" value = "Würfeln"> <input type = "button" id="rollButton" value = "Würfeln">

68
schlangen_und_leitern/js/Bridge.js

@ -21,7 +21,7 @@ function init(playerCount){
let playerArray = buildPlayerArray(playerCount); let playerArray = buildPlayerArray(playerCount);
//Haupt Spielschleife aufrufen //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); 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"); console.log("player " + turnCount + " ist dran");
//würfle function aufrufen
let roll = rollDice();
//spieler auswählen
player = playerArray[turnCount-1]; 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
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);
//TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
//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);
//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);
} }

32
schlangen_und_leitern/js/makeBoard.js

@ -248,19 +248,43 @@ function createBoardObjects(canvasPointArr, objectArray){
drawLine(objectArray[i].type,startPointX, startPointY, endPointX, endPointY) 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"
}

28
schlangen_und_leitern/js/playerHandling.js

@ -5,6 +5,7 @@ function PlayerBuilder(){
this.position = 1; this.position = 1;
this.newPosition; this.newPosition;
this.won = false
} }
@ -193,19 +194,36 @@ function turnIndicater(turnCount){
default: default:
break; 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;
}
}
}
Loading…
Cancel
Save