📅  最后修改于: 2023-12-03 15:21:34.243000             🧑  作者: Mango
这是一个双人游戏,玩家可以删除所有出现的数字。玩家之间可以轮流进行操作,直到所有数字都被删除或者其中一位玩家无法继续删除数字。
// 定义字符串
let str = "1a2b3c4d5e";
// 定义玩家一和玩家二的标识
let player1 = true;
let player2 = false;
// 游戏循环
while (true) {
// 判断是否所有数字都已删除
let allDeleted = true;
for (let i = 0; i < str.length; i++) {
if (!isNaN(parseInt(str[i]))) {
allDeleted = false;
break;
}
}
if (allDeleted) {
console.log("平局");
break;
}
// 判断当前玩家是否可以删除数字
let canDelete = false;
if (player1) {
for (let i = 0; i < str.length; i++) {
if (!isNaN(parseInt(str[i]))) {
canDelete = true;
break;
}
}
} else if (player2) {
for (let i = 0; i < str.length; i++) {
if (!isNaN(parseInt(str[i]))) {
canDelete = true;
break;
}
}
}
// 判断是否有玩家可以删除数字
if (!canDelete) {
console.log("平局");
break;
}
// 执行当前玩家的删除操作
let index = parseInt(prompt("请输入要删除数字的索引:"));
if (isNaN(index) || index < 0 || index >= str.length || isNaN(parseInt(str[index]))) {
console.log("输入无效,请重新输入!");
continue;
}
let deleted = str.substring(0, index) + str.substring(index + 1, str.length);
console.log(`删除数字${str[index]},当前字符串为${deleted}`);
str = deleted;
// 判断游戏是否结束
if (player1 && !canDelete) {
console.log("玩家二获胜!");
break;
} else if (player2 && !canDelete) {
console.log("玩家一获胜!");
break;
}
// 切换玩家
player1 = !player1;
player2 = !player2;
}
以上是一个简单的实现,可以根据需要进行更改和完善。