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 => {
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);
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 validity = makeMove(pieceRecord, x,y);
alert(validity);
switch (validity) {
case 0:
alert("neplatný tah!")

@ -6,7 +6,7 @@ B = Player two basic piece
P = Player two queen piece
*/
pieceList = new Array();
const pieceList = new Array();
currentPlayer = "white";
function generateDefaultPositions(){
@ -148,21 +148,45 @@ function continuable(pieceRecord){
const player = pieceRecord.player;
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;
}
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)))){
alert("bun");
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)))){
return true;
}
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){
@ -181,11 +205,16 @@ function makeMove(pieceRecord, x, y){
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);
if (continuable(updatedPieceRecord)) {
if (continuable(updatedPieceRecord) && casualties.length > 0) {
return 2;
}
upgradeToQueenIfEligible(pieceRecord);
return 1;
}
generateDefaultPositions();
Loading…
Cancel
Save