用javascript编写猜拳游戏(函数)
const readline = require('readline-sync')//引用readline-sync
console.log('欢迎进入猜拳游戏');
//电脑随机出拳
let fn = function (min, max) {
if (!max) {//当max没有值时
max = min;
min = ;
}
if (min < max) {
return parseInt(Math.random() * (max - min + ) + min);
} else {
return parseInt(Math.random() * (min - max + ) + max);
}
}
//玩家选择出拳
let menu = function () {
while (true) {
console.log('请玩家出拳:1.石头 2.剪刀 3.布 4.退出');
let num = readline.question() - ;
switch (num) {
case :
console.log('再见,欢迎下次');
return;
}
let num1 = fn(, )
if (num == num1) {
if (num == ) {//平局
console.log('玩家出拳:石头。。。。电脑出拳:石头\n 平局');
} else if (num == ) {
console.log('玩家出拳:剪刀。。。。电脑出拳:剪刀\n 平局');
} else {
console.log('玩家出拳:布。。。。电脑出拳:布\n 平局');
}
} else if (num == && num1 == || num == && num1 == || num == && num1 == ) {
if (num == && num1 == ) {
console.log('玩家出拳:石头。。。。电脑出拳:剪刀\n 玩家胜利');
} else if (num == && num1 == ) {
console.log('玩家出拳:剪刀。。。。电脑出拳:布\n 玩家胜利');
} else {
console.log('玩家出拳:布。。。。电脑出拳:石头\n 玩家胜利');
}
} else {
if (num == && num1 == ) {
console.log('玩家出拳:石头。。。。电脑出拳:布\n 电脑胜利');
} else if (num == && num1 == ) {
console.log('玩家出拳:剪刀。。。。电脑出拳:石头\n 电脑胜利');
} else {
console.log('玩家出拳:布。。。。电脑出拳:剪刀\n 电脑胜利');
}
}//结束
}
}
menu();
用javascript编写猜拳游戏(函数)的更多相关文章
- java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE ...
- C语言写猜拳游戏中遇到的函数循环小问题
各位可能在初学C语言的时候都有写过猜拳游戏.但在写猜拳的函数时,避免不了会使用循环. 当函数被套在一个循环中的时候,你的计分变量可能就会被重置为函数体里的初始值.那么怎么解决这个问题? 其实很简单,你 ...
- 纯JS编写打地鼠游戏
这个游戏是本人前不久刚入门编写的游戏,感觉里面代码很LOW但是对于新手来说很一般般吧~ 没有上传音乐文件了 运行效果: 上代码(HTML+JS): <!DOCTYPE html> < ...
- 【教程】HTML5+JavaScript编写flappy bird
作者: 风小锐 新浪微博ID:永远de风小锐 QQ:547953539 转载请注明出处 PS:新修复了两个bug,已下载代码的同学请查看一下 大学立即要毕业了. ...
- 原生 Javascript 编写五子棋
原文地址:原生 Javascript 编写五子棋 博客地址:http://www.extlight.com 一.背景 近一个月没写 Javascript 代码,有点生疏.正好浏览网页时弹出五子棋的游戏 ...
- JavaScript--面向对象--猜拳游戏
//html代码 <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- C语言猜拳游戏
2016年最后一篇文章 今天闲来无事Google了一段C语言写的猜拳游戏的代码(本人水平比较低,几乎是刚入门),我没做什么修改.这个switch语句里面对result的处理让我眼前一新,原来是这么玩的 ...
- JavaScript的几种函数的结构形式
匿名函数,普通函数,变量函数,基于对象的方法 介绍它们的优劣点(性能,执行条件,可维护性,适合大型还是小型) Javascript有着灵活多变的函数方法,具体选用何种形式,都会极大地影响应用程序的编写 ...
- [转]理解与使用Javascript中的回调函数
在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因 ...
随机推荐
- H5前端的关于像素解释
场景: 人物:前端实习生「阿树」与 切图工程师「玉凤」 事件:设计师出设计稿,前端实现页面 玉凤:树,设计稿发给你啦,差那么点像素,就叼死你┏(  ̄へ ̄)=☞ 阿树:~(>_<)~毛问题噶 ...
- Django—Model
Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 Sqlite3.MySQL.PostgreSQL 等数据库,只需要在 settings.py ...
- Spring boot Jackson基本演绎法&devtools热部署
1.针对POJO中的User类添加一些注解,使其某些数据不显示或者格式化某些数据类型,如下图: 2.启动Application,然后进入浏览器访问http://localhost:8080/user/ ...
- 【Android】Android studio 编译问题:finished with non-zero exit value 2
1.Android studio 编译问题:finished with non-zero exit value 2 问题: Error:Execution failed for task ':andr ...
- qt 拷贝文件设置进度条
/** * @brief FuncModuleWin::copyFile * @param fromFIleName 优盘里面的文件 * @param toFileName 拷贝到/bin里面的启动文 ...
- tableview setData 设置数据(结构体对象)
定义设置的对象类型 Q_DECLARE_METATYPE(LISTITEMDATA *) 设置数据类型 LISTITEMDATA *ptask = &(const_cast<LISTIT ...
- C# GDI+ 利用 Rectangle GraphicsPath 判断 矩形或多边形 图形关系
最近在做一些简单的图像对比工作,总结了一些GDI+对象的使用方式,记录下来共享给大家使用. 判断Rectangl与多边形的关系 /// <summary> /// 是否包含输入范围 /// ...
- ELK_Elastic Search和kibana版本对应关系
https://www.elastic.co/downloads/past-releases/kibana-5-0-0 https://www.elastic.co/downloads/past-re ...
- yii2.0里自己写的源码上传图片
在做项目过程中,用了源码表单上传, <form action="?r=pre/create" method="post" enctype="mu ...
- Task执行内幕与结果处理解密
本课主题 Task执行内幕与结果处理解密 引言 这一章我们主要关心的是 Task 是怎样被计算的以及结果是怎么被处理的 了解 Task 是怎样被计算的以及结果是怎么被处理的 Task 执行原理流程图 ...