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

原文地址:https://www.cnblogs.com/fatingGoodboy/p/11409857.html

时间: 2024-11-10 16:05:26

JavaScript之猜拳游戏的相关文章

javascript基础-猜拳游戏

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

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

//html代码 <!doctype html> <html> <head> <meta charset="UTF-8"> <title>猜拳游戏</title> <link rel="stylesheet" href="css/game.css"></link> </head> <body> <div id="

猜拳游戏

//通过控制台命令方式实现一个猜拳游戏,用户通过输入(1.石头,2.剪刀,3.布)与电脑pk,最后通过积分的多少判断胜负 Scanner sc=new Scanner(System.in); for(;;){ System.out.println("欢迎来到猜拳游戏,游戏规则:1.石头,2.剪刀,3.布.赢一次获得1个积分点,输一次扣一个积分点.您共有5次猜拳机会."); System.out.println("请确定是否开始游戏:1.开始  0.退出"); int

C#面向对象编程-猜拳游戏

1.需求 现在要制作一个游戏,玩家与计算机进行猜拳游戏,玩家出拳,计算机出拳,计算机自动判断输赢. 2.需求分析 根据需求,来分析一下对象,可分析出:玩家对象(Player).计算机对象(Computer).裁判对象(Judge). 玩家出拳由用户控制,使用数字代表:1石头.2剪子.3布 计算机出拳由计算机随机产生 裁判根据玩家与计算机的出拳情况进行判断输赢 3.类对象的实现 玩家类示例代码 class Player { string name; public string Name { get

在学会循环结构语句时就可以写的一个猜拳游戏小项目

package com.etc.for2; import java.util.Scanner; /** * 猜拳游戏规则: * 人或机器可以随机出石头.剪刀.布, * 若一方出石头,另一方出剪刀,则输出打印出石头方获胜, * 若一方出石头,另一方出布,则输出打印出布方获胜, * 若一方出布,另一方出剪刀,则输出打印出剪刀方获胜, * */ public class TestCaiQuan { public static void main(String[] args) { Scanner sc=

JAVASCRIPT开发HTML5游戏--斗地主(网络对战PART4)

继之前用游戏引擎(青瓷引擎)做了斗地主单机版游戏之后,这里分享下使用socket.io来实现网络对战,代码可已放到github上,在此谈谈自己整个的开发思路吧. 客户端代码 服务端代码 (点击图片进入游戏体验) 前文链接: javascript开发HTML5游戏--斗地主(单机模式part1) javascript开发HTML5游戏--斗地主(单机模式part2) javascirpt开发HTML5游戏--斗地主(单机模式part3) 本文章为网络对战第一部分内容.主要内容如下: 简介 服务端项

猜拳游戏 java基础

//用循环方式实现和计算机玩猜拳的程序 (设定胜出条件--输3次或赢3次即退出) package eduask01; import java.util.*; public class Rask03 { public static void main(String[]args){ Scanner sc=new Scanner(System.in); int m=0,n=0;//累计输或赢的次数 for(;;){//死循环进行游戏 System.out.println("猜拳游戏:1.表示石头 2.

MRC实现猜拳游戏(附:@property理解偏差纠正)

1 /* 猜拳游戏 2 对象1:人, 属性:输入要出的拳并显示,分数,姓名 3 对象2:Bot,属性同上,继承.自动生成出拳,枚举法.显示出拳,与传过来的人的出拳作比较,判定结果并输出分数. 4 其他:每比较一次提示是否继续. 5 6 注意:MRC! 7 */ 8 9 #import <Foundation/Foundation.h> 10 #import "Bot.h" 11 int main(int argc, const char * argv[]) 12 { 13

安卓版猜拳游戏源码

安卓版猜拳游戏源码,该文件中带有安装测试包的,这个游戏源码比较简单的,现在有两个代码,一个自定义VIEW的,一个就是普通的imageView图片,游戏非常适合一些新手的使用和学习. <ignore_js_op> <ignore_js_op> <ignore_js_op>  详细说明:http://android.662p.com/thread-4914-1-1.html 安卓版猜拳游戏源码,布布扣,bubuko.com