大家好,欢迎来到IT知识分享网。

捡石子游戏
游戏规则:三堆石子分别为3、5、7个。两人轮流从任意一堆取走任意数目的石子,取最后一颗石子者输。
堆1
堆2
堆3
<script>
let piles = [3, 5, 7]; // 三堆石子的初始数量
let currentPlayer = 1; // 当前玩家(1或2)
let selectedPile = 0; // 当前选中的堆(0表示未选中)
// 初始化游戏
function initGame() {
updateStonesDisplay();
document.getElementById(‘message’).className = ‘message player-turn’;
document.getElementById(‘message’).textContent = `玩家${currentPlayer}的回合`;
selectedPile = 0;
document.getElementById(‘controls’).style.display = ‘none’;
}
// 更新石子显示
function updateStonesDisplay() {
for (let i = 0; i < 3; i++) {
const stonesContainer = document.getElementById(`stones${i+1}`);
stonesContainer.innerHTML = ”;
for (let j = 0; j < piles[i]; j++) {
const stone = document.createElement(‘div’);
stone.className = ‘stone’;
stonesContainer.appendChild(stone);
}
}
}
// 选择堆
function selectPile(pileNum) {
if (piles[pileNum-1] === 0) {
alert(‘这堆已经没有石子了!’);
return;
}
selectedPile = pileNum;
document.getElementById(‘selected-pile’).textContent = pileNum;
document.getElementById(‘take-count’).max = piles[pileNum-1];
document.getElementById(‘take-count’).value = 1;
document.getElementById(‘controls’).style.display = ‘block’;
}
// 取消选择
function cancelSelection() {
selectedPile = 0;
document.getElementById(‘controls’).style.display = ‘none’;
}
// 取石子
function takeStones() {
const takeCount = parseInt(document.getElementById(‘take-count’).value);
const pileIndex = selectedPile – 1;
if (takeCount < 1 takecount> piles[pileIndex]) {
alert(‘请输入有效的石子数量!’);
return;
}
// 取石子
piles[pileIndex] -= takeCount;
// 检查游戏是否结束
const totalStones = piles[0] + piles[1] + piles[2];
if (totalStones === 0) {
// 游戏结束,当前玩家输
document.getElementById(‘message’).className = ‘message game-over’;
document.getElementById(‘message’).textContent = `游戏结束!玩家${currentPlayer}取了最后一颗石子,玩家${currentPlayer}输了!`;
selectedPile = 0;
document.getElementById(‘controls’).style.display = ‘none’;
return;
}
// 切换玩家
currentPlayer = currentPlayer === 1 ? 2 : 1;
// 更新显示
updateStonesDisplay();
document.getElementById(‘message’).className = ‘message player-turn’;
document.getElementById(‘message’).textContent = `玩家${currentPlayer}的回合`;
selectedPile = 0;
document.getElementById(‘controls’).style.display = ‘none’;
}
// 重置游戏
function resetGame() {
piles = [3, 5, 7];
currentPlayer = 1;
initGame();
}
// 初始化游戏
window.onload = initGame;
</script>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/175912.html