jakub 10 months ago
parent 8d15bf8bb6
commit e56eb455c9
  1. 17
      javascript/client-only-logic.js
  2. 41
      javascript/game-logic.js

@ -89,9 +89,23 @@ function updatePieces() {
pieceList.forEach(pieceRecord => { pieceList.forEach(pieceRecord => {
const piece = document.getElementById("piece" + pieceRecord.id); const piece = document.getElementById("piece" + pieceRecord.id);
//const classList = piece.classList;
piece.classList.remove("basic");
piece.classList.remove("queen");
console.log(pieceRecord.type);
piece.classList.add(pieceRecord.type);
safeList.push(piece.id); safeList.push(piece.id);
movePiece(piece, pieceRecord.x, pieceRecord.y) movePiece(piece, pieceRecord.x, pieceRecord.y);
}); });
@ -130,7 +144,6 @@ function tileClickEvent(x, y){
const pieceRecord = getPieceRecordFromPiece(selectedPiece); const pieceRecord = getPieceRecordFromPiece(selectedPiece);
const validity = makeMove(pieceRecord, x,y); const validity = makeMove(pieceRecord, x,y);
alert(validity);
switch (validity) { switch (validity) {
case 0: case 0:
alert("neplatný tah!") alert("neplatný tah!")

@ -6,7 +6,7 @@ B = Player two basic piece
P = Player two queen piece P = Player two queen piece
*/ */
pieceList = new Array(); const pieceList = new Array();
currentPlayer = "white"; currentPlayer = "white";
function generateDefaultPositions(){ function generateDefaultPositions(){
@ -148,21 +148,45 @@ function continuable(pieceRecord){
const player = pieceRecord.player; const player = pieceRecord.player;
const type = pieceRecord.type; const type = pieceRecord.type;
if((type == "queen" || player == "white") && ((getPieceRecord(x+1, y+1) && !getPieceRecord(x+2, y+2) && (y+2) < 8 && (x+2) < 8) || ((getPieceRecord(x-1, y+1) && !getPieceRecord(x-2, y+2) && (y+2) < 8 && (x-2) > 0)))){ if((type == "queen" || player == "white") && ((getPieceRecord(x+1, y+1) && getPieceRecord(x+1, y+1).player != player && !getPieceRecord(x+2, y+2) && (y+2) < 8 && (x+2) < 8) || ((getPieceRecord(x-1, y+1) && getPieceRecord(x-1, y+1).player != player && !getPieceRecord(x-2, y+2) && (y+2) < 8 && (x-2) > 0)))){
return true; return true;
} }
if((type == "queen" || player == "black") && ((getPieceRecord(x+1, y-1) && !getPieceRecord(x+2, y-2) && (y-2) > 0 && (x+2) < 8) || ((getPieceRecord(x-1, y-1) && !getPieceRecord(x-2, y-2) && (y-2) > 0 && (x-2) > 0)))){ if((type == "queen" || player == "black") && ((getPieceRecord(x+1, y-1) && getPieceRecord(x+1, y-1).player != player && !getPieceRecord(x+2, y-2) && (y-2) > 0 && (x+2) < 8) || ((getPieceRecord(x-1, y-1) && getPieceRecord(x-1, y-1).player != player && !getPieceRecord(x-2, y-2) && (y-2) > 0 && (x-2) > 0)))){
alert("bun");
return true; return true;
} }
return false; return false;
} }
function swapPlayers() {
function getOportunities(pieceRecord){
const player = pieceRecord.player;
const opportunities = new Array();
pieceList.forEach(record => {
if (record.player == player && record != pieceRecord && continuable(record)) {
opportunities.push(pieceRecord);
}
});
return opportunities;
}
function upgradeToQueenIfEligible(pieceRecord) {
const player = pieceRecord.player;
const type = pieceRecord.type;
const y = pieceRecord.y;
if ((player == "white" && y == 7) || (player == "black" && y == 0) && type == "basic") {
alert("QQQUUUUEEEEEn");
pieceRecord.type == "queen";
updatePieceRecord(pieceRecord);
}
}
function swapPlayers() {
currentPlayer = (currentPlayer == "white") ? "black" : "white";
} }
function makeMove(pieceRecord, x, y){ function makeMove(pieceRecord, x, y){
@ -181,11 +205,16 @@ function makeMove(pieceRecord, x, y){
nukePieceRecord(casualty); nukePieceRecord(casualty);
}); });
if (casualties.length == 0 && getOportunities(pieceRecord).length != 0) {
//POTŘREBA DODĚLAT SBÍRÁNÍ DÍLKŮ ZA NESKÁKÁNÍ
}
const updatedPieceRecord = updatePieceRecordPosition(pieceRecord, x, y); const updatedPieceRecord = updatePieceRecordPosition(pieceRecord, x, y);
if (continuable(updatedPieceRecord)) { if (continuable(updatedPieceRecord) && casualties.length > 0) {
return 2; return 2;
} }
upgradeToQueenIfEligible(pieceRecord);
return 1; return 1;
} }
generateDefaultPositions(); generateDefaultPositions();
Loading…
Cancel
Save