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编写猜拳游戏(函数)的更多相关文章

  1. java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)

    Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE ...

  2. C语言写猜拳游戏中遇到的函数循环小问题

    各位可能在初学C语言的时候都有写过猜拳游戏.但在写猜拳的函数时,避免不了会使用循环. 当函数被套在一个循环中的时候,你的计分变量可能就会被重置为函数体里的初始值.那么怎么解决这个问题? 其实很简单,你 ...

  3. 纯JS编写打地鼠游戏

    这个游戏是本人前不久刚入门编写的游戏,感觉里面代码很LOW但是对于新手来说很一般般吧~ 没有上传音乐文件了 运行效果: 上代码(HTML+JS): <!DOCTYPE html> < ...

  4. 【教程】HTML5+JavaScript编写flappy bird

         作者: 风小锐      新浪微博ID:永远de风小锐      QQ:547953539      转载请注明出处 PS:新修复了两个bug,已下载代码的同学请查看一下 大学立即要毕业了. ...

  5. 原生 Javascript 编写五子棋

    原文地址:原生 Javascript 编写五子棋 博客地址:http://www.extlight.com 一.背景 近一个月没写 Javascript 代码,有点生疏.正好浏览网页时弹出五子棋的游戏 ...

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

    //html代码 <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

  7. C语言猜拳游戏

    2016年最后一篇文章 今天闲来无事Google了一段C语言写的猜拳游戏的代码(本人水平比较低,几乎是刚入门),我没做什么修改.这个switch语句里面对result的处理让我眼前一新,原来是这么玩的 ...

  8. JavaScript的几种函数的结构形式

    匿名函数,普通函数,变量函数,基于对象的方法 介绍它们的优劣点(性能,执行条件,可维护性,适合大型还是小型) Javascript有着灵活多变的函数方法,具体选用何种形式,都会极大地影响应用程序的编写 ...

  9. [转]理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因 ...

随机推荐

  1. 第7章 征服CSS3选择器(下)

    :enabled选择器 在Web的表单中,有些表单元素有可用(":enabled")和不可用(":disabled")状态,比如输入框,密码框,复选框等.在默认 ...

  2. JS原型学习笔记

    1.原型是函数对象的属性,它的初始值是一个空对象,这个prototype原型对象可以添加方法和属性. 2.构造器对象查找属性和方法时先查找构造器后查找原型. 3.若构造器中的属性和原型中的属性相同,构 ...

  3. mac下打开hosts文件

    1打开控制台 输入vi(空格)/etc/hosts 进入hosts文件,输入i更改为编辑状态,更改完esc然后shift+:在输入wq保存退出 2打开Finder然后选择上面前往,到前往文件夹,输入/ ...

  4. 001Spring 定时任务 Scheduled

    01.@Scheduled注解参数 @Scheduled支持fixedRate.fixedDelay.cron表达式参数.其中,fixedRate和fixedDelay没有区别,都是启动时执行1次,每 ...

  5. Android中获取TextView行数

    项目中发现,如果直接通过TextView.getLineCount()方法获取行数时,总是0,研究发现,setText()后立即调用getLineCount(), 这时TextView还未完成meas ...

  6. 139.00.004 Git学习-远程仓库之Github

    参考Github官方HelloWorld入门教程 "有了远程仓库,妈妈再也不用担心我的硬盘了."--Git点读机 本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二 ...

  7. leetcode-surrounded regions-ZZ

    Problem Statement (link): Given a 2D board containing 'X' and 'O', capture all regions surrounded by ...

  8. 关于派生类访问基类对象的保护变量的问题 --Coursera

    https://class.coursera.org/pkupop-001/forum/thread?thread_id=350   郭天魁· 6 months ago 在课件中我们知道如下程序是不能 ...

  9. task可声明参数 z

    直接这样写 var task1 = Task.Factory.StartNew(() => DoSomeWork(message1, message2)); 如果是winform,你在另外一个线 ...

  10. IEEP部署企业级网络工程-网络故障-环路故障

    网络故障 1.环路故障 概念 1).以太网是一个支持广播的网络, 在没有环路的环境中,广播报文在网络中以泛洪的形式被送达到网络的第一个角落,以保证每个设备都能够接受到它.每台二层设备在接收到广播报文以 ...