用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中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因 ...
随机推荐
- cookie初探——封装和使用cookie(内含彩蛋)
一.什么是cookie? 页面用来保存信息,如:自动登录.记住用户名 二.cookie的特性1.同一个网站中所有页面共享一套cookie2.数量.大小有限3.有过期时间 三.js中使用cookie d ...
- linux 共享目录
1. 文件上传遇到多物理机多实例时,怎么处理呢? ftp, 文件同步, 目录共享 这里用目录共享来一把. 2. 操作流程 物理机两台 192.168.1.88 192.168.1.166 2.1 服 ...
- Hadoop序列化程序报错
这个错误指向序列化类,注意实现的Read和Wirte顺序一定要一致,并且要使用基本类型,不要使用包装类. java.lang.Exception: java.io.EOFException at or ...
- webpack_hmr报错 cannot load 状态500
使用vue-cli时,启动本地环境,然后页面没有关闭,直接切换到线上环境,过一会会发起一个http://xxx/__webpack_hmr请求,会报cannot load原因:它属于nodejs中的一 ...
- .NET开源工作流RoadFlow-Bug修改-1.8.2子流程接收者始终为发送者
1.8.2及以前版本中子流程待办任务的处理者始终为上一步骤发送者BUG的处理: 修改类:RoadFlow.Platform.WorkFlowTask中如下图红框中的内容即可:
- ArcGIS中国工具(ArcGISCTools)2.0正式发布
ArcGIS中国工具,简称CTools,集成在ArcMap10.0, ArcMap10.1, ArcMap10.2,安装就可以直接使用.主要有以下功能 1.接合图表生成2.图框工具3.制图工具4.图形 ...
- 06_zookeeper原生Java API使用
[Zookeeper构造方法概述] /** * 客户端和zk服务端的连接是一个异步的过程 * 当连接成功后,客户端会收到一个watch通知 * * ZooKeeper(String connectSt ...
- C# Winform中的ComboBox控件绑定数据库项目作为列表内容
//初始化院区下拉列表,使用了Oracle数据库中的表项目 try { //string connString = "User=system;Password=manager;Data So ...
- vue2.0中的ref.html
前置知识请戳这里 获取DOM对象以及组件对象 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...
- QLocalServer和QLocalSocket单进程和进程通信
QLocalServer 继承自QObject. QLocalServer提供了一个基于本地套接字(socket)的服务端(server).QLocalServer可以接受来自本地socket的连接. ...