用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中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因 ...
随机推荐
- Effective C++ .06 阻止编译器自动生成函数以及被他人调用
这节讲了下如何防止对象拷贝(隐藏并不能被其他人调用) 两种方法: 1. 将拷贝构造函数声明为private 并且声明函数但不进行定义 #include <iostream> #includ ...
- K2P刷机教程转自恩山磨人的小妖精
K2P刷机指南说明 K2P MTK版发布之初用的是22.5.7.85, 这个版本官改和高恪K2P固件都可以从斐讯固件基础上直接升级, 是所谓直刷.但好景不长, 之后的版本比如22.5.17.33就改了 ...
- css多行本文垂直集中
<div style="display:table;height:400px;"> <span style="display:table-cell;ve ...
- javascript获取文件后缀名
javascript获取文件后缀名:在需要验证文件格式的时候,首先就要获得文件的格式,下面是一个通过正则表达式获取文件后缀名的一个简单实例. function validate(){ var impo ...
- URL传递中文:Server.UrlEncode与Server.UrlDecode
1.设置web.config文件. <system.web> ...... <globalization requestEncoding="gb2312" r ...
- iOS线程和进程的区别和联系
线程和进程的区别主要在于它们是不同的操作系统资源管理方式.进程有独立的地址空间,一个进程崩溃后,在保护模式的影响下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径.线程有自己的堆栈和局部变量 ...
- 安卓app应用开发资料
android 配置文件画图 http://blog.csdn.net/loongggdroid/article/details/46687589 android下拉刷新控件 https://gith ...
- visual studio 2013的C++开发环境不错--vs2013安装试用手记
原文:http://blog.csdn.net/haoyujie/article/details/24370189 从visual studio 体系,最后一次对C++实现了大的改进,那还是vs 7. ...
- BASE64编码的字符进行URL传输丢失特殊字符的问题
因为BASE64的编码里含有“+”号等特殊字符,在url传输的时候会把+号编程空格,解决这个问题的方法: 请求时把BASE64编码进行url的编码再进行传输 接收时把BASE64编码进行url的解码 ...
- SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory
Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL S ...