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. 18
      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/Bridge.js"></script>
<script type= "text/javascript" src="js/playerHandling.js"></script>
<title>Document</title>
@ -33,6 +32,9 @@
</div>
<div id = "rightSide">
<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;" >
<img src="/img/wurfle/f(1).png" id="face">
<input type = "button" id="rollButton" value = "Würfeln">

18
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,19 +39,20 @@ function init(playerCount){
}
function gameloop (boardArr, playerArray, playerCount){
function gameloop (playerArray, playerCount, objectArr){
console.log("player " + turnCount + " ist dran");
player = playerArray[turnCount-1];
if(player.won == false){
//würfle function aufrufen
let roll = rollDice();
//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
checkPosition(player, objectArr);
//TODO checken ob die Spieler an eine leiter oder Schlange gelandet hat
@ -80,5 +81,14 @@ function gameloop (boardArr, playerArray, playerCount){
}
//show who is up
turnIndicater(turnCount);
}
else{
if(turnCount >= playerCount){
turnCount = 1;
}
else {
turnCount ++
}
}
}

32
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"
}

28
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;
}
}
}
Loading…
Cancel
Save