|
|
|
@ -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(); |