JavaScript之猜拳游戏

Posted fatinggoodboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript之猜拳游戏相关的知识,希望对你有一定的参考价值。

// 猜拳游戏
// 清屏函数
let clear = () => process.stdout.write(process.platform === ‘win32‘ ? ‘\x1Bc‘ : ‘\x1B[2J\x1B[3J\x1B[H‘);
let readline = require("readline-sync");
let player =
name : "玩家", // 默认玩家名
victory : 0 // 玩家胜利局数
;
let com =
name : "电脑",
victory : 0 // 电脑胜利局数
// 胜负判断函数 接收两个参数 玩家猜拳数字 电脑猜拳数字
let judge = function(i,j)
// 返回数字 0 1 2,0代表平局 1代表玩家获胜 2代表电脑获胜
let result = j - i;
if(result === 0)
return 0;
else if(result > 0)
if(i === 1 && j === 3)
return 2;
else
return 1;
else
if(i === 3 && j === 1)
return 1;
else
return 2;
// 描述函数 根据传递过来的数字返回对应的文字
let desc = function(i)
let str = "";
switch(i)
case 1:str = "石头";return str;
case 2:str = "剪刀";return str;
case 3:str = "布";return str;
let main = function()
clear();
console.log("请输入您的玩家名:");
let playerName = readline.question("");
player.name = playerName;
let useSys = true;
while(useSys)
clear();
console.log("欢迎来到猜拳游戏,",player.name);
console.log("请选择游戏选项: 1.开始游戏 2.游戏说明 3.退出游戏");
let funcSelect = readline.question("");
switch(funcSelect)
// 开始游戏
case "1":
let playNow = true; // 设置游戏状态为true
while(playNow)
clear();
console.log("请选择你要出的拳: 1.石头 2.剪刀 3.布 4.返回");
let playerChoose = parseInt(readline.question(""));
switch(playerChoose)
case 1:
case 2:
case 3:
// 电脑随机出拳 返回1-3的随机数 1.石头 2.剪刀 3.布
let computChoose = Math.floor(Math.random()*3 + 1);
let result = judge(playerChoose,computChoose);
// 根据返回结果来输出不同内容
switch(result)
// 平局
case 0:
console.log("你出的是:",desc(playerChoose));
console.log("电脑出的是:",desc(computChoose));
console.log("本轮平局,不记分");
console.log(player.name + ":" + player.victory + " vs " + com.name + ":" + com.victory);
console.log("按回车键继续");
readline.question("");
break;
// 玩家获胜
case 1:
console.log("你出的是:",desc(playerChoose));
console.log("电脑出的是:",desc(computChoose));
console.log("玩家胜利!");
player.victory++;
console.log(player.name + ":" + player.victory + " vs " + com.name + ":" + com.victory);
console.log("按回车键继续");
readline.question("");
break;
// 电脑获胜
case 2:
console.log("你出的是:",desc(playerChoose));
console.log("电脑出的是:",desc(computChoose));
console.log("电脑胜利!");
com.victory++;
console.log(player.name + ":" + player.victory + " vs " + com.name + ":" + com.victory);
console.log("按回车键继续");
readline.question("");
break;
break;
case 4:
playNow = false; // 返回上级菜单 只需要将 playNow需改为false
break;
default:
console.log("输入有误,请重新输入,按回车键继续");
readline.question("");
 
break;
// 游戏说明
case "2":
clear();
console.log("就和平时我们玩的猜拳游戏一样");
console.log("玩家选择是出石头,剪刀,还是布,然后和电脑出的拳进行比较");
console.log("比较规则如下:");
console.log("石头克剪刀 剪刀克布 布克石头");
console.log("按回车键返回");
readline.question("");
break;
// 退出游戏
case "3":
useSys = false;
break;
default:
console.log("输入有误,请重新输入,按回车键继续");
readline.question("");
clear();
console.log("最终比分为:");
console.log(player.name + ":" + player.victory + " vs " + com.name + ":" + com.victory);
console.log("Thank you for playing,",player.name);
main();

以上是关于JavaScript之猜拳游戏的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript--面向对象--猜拳游戏

JavaScript实现人机猜拳

三Java面向对象之猜拳游戏

shell案例分享之猜拳人机大战!

《C#零基础入门之百识百例》(六十六)枚举定义 -- 石头剪刀布猜拳游戏

C语言复习之猜拳小游戏