返回顶部
首页 > 资讯 > 精选 >怎么使用Nodejs实现石头剪刀布小游戏
  • 232
分享到

怎么使用Nodejs实现石头剪刀布小游戏

2023-06-15 11:06:27 232人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关怎么使用nodejs实现石头剪刀布小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求分析这个石头剪刀布小游戏是人机交互的形式,我们随机输入石头(rock)/剪刀(scis

这篇文章将为大家详细讲解有关怎么使用nodejs实现石头剪刀布小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

需求分析

这个石头剪刀布小游戏是人机交互的形式,我们随机输入石头(rock)/剪刀(scissor)/布(paper),然后电脑也随机生成石头/剪刀/布,然后比较输赢,输出结果。

这里有两个问题,输出我们知道,可以通过 console.log() 打印输出,那么我们怎么输入呢?然后 node.js 又通过什么拿到我们的输入值呢?

输入是这样直接输入的:node index.js rock,在 node 启动运行 index.js 后面直接添加参数 rock 即可。

而获取的话,Node.js 有一个全局变量 process,它是一个进程对象,记载 Node.js 运行的一些信息,里面有一个属性 argv,通过这个属性可以获取到输入的值:

console.log(process.argv)

怎么使用Nodejs实现石头剪刀布小游戏

初始版本

话不多说,直接上代码:

// spr.js// 石头剪刀布小游戏// 命令行命令:node spr.js rock// argv 可以获取到命令行 node 后面输入的行为// let playerAction = process.argv[process.argv.length - 1]; // 最后面的输入let playerAction = process.argv[2]; // 也可以通过下标直接获取console.log('你出了', playerAction)if (playerAction != 'rock' && playerAction != 'paper' && playerAction != 'scissor') {  console.log('请输入rock或paper或scissor')} else {  // 电脑通过随机数生成石头剪刀布  let computerAction;  let random = Math.random() * 3;  if (random < 1) {    console.log('电脑出了石头')    computerAction = 'rock'  } else if (random > 2) {    console.log('电脑出了剪刀')    computerAction = 'scissor'  } else {    console.log('电脑出了布')    computerAction = 'paper'  }  // 比较分出输赢  if (computerAction === playerAction) {    console.log('平局')  } else if (    (computerAction == 'rock' && playerAction == 'scissor') ||    (computerAction == 'scissor' && playerAction == 'paper') ||    (computerAction == 'paper' && playerAction == 'rock')  ) {    console.log('你输了')  } else {    console.log('你赢了')  }}

那么运行玩一下吧:

node spr.js rocknode spr.js scissornode spr.js paper

怎么使用Nodejs实现石头剪刀布小游戏

模块封装

在 《浅谈Nodejs中的模块规范》 中有学习到 Node.js 的 CommonJS 模块规范,那么现在来把这个游戏封装起来,然后再实现一个新需求:电脑也是有情绪的,当我们赢的次数超过3次时,电脑的情绪就上来了,就不玩了。

这里新建了一个 game.js 文件,通过 module.exports 将游戏模块给出去:

// game.jsmodule.exports = function (playerAction) {  if (['rock', 'scissor', 'paper'].indexOf(playerAction) == -1) {    throw new Error('请输入rock或paper或scissor');  }  // 电脑通过随机数生成石头剪刀布  var computerAction;  var random = Math.random() * 3  if (random < 1) {    computerAction = 'rock'    console.log('电脑出了石头')  } else if (random > 2) {    computerAction = 'scissor'    console.log('电脑出了剪刀')  } else {    computerAction = 'paper'    console.log('电脑出了布')  }  // 比较分出输赢  if (computerAction === playerAction) {    console.log('平局')    return 0;  } else if (    (computerAction == 'rock' && playerAction == 'scissor') ||    (computerAction == 'scissor' && playerAction == 'paper') ||    (computerAction == 'paper' && playerAction == 'rock')  ) {    console.log('你输了')    return -1;  } else {    console.log('你赢了')    return 1;  }}

新建 index.js,通过 require 加载 game.js 模块:

// argv 可以获取到命令行 node 后面输入的行为var playerAction = process.argv[process.argv.length - 1];console.log(playerAction);// 通过 require 引入石头剪刀布游戏模块const game = require('./game.js')const result = game(playerAction);console.log(result)

运行起来看看:

怎么使用Nodejs实现石头剪刀布小游戏

现在要来计算我们赢的次数,那需要一个方法让我们可以持续输入:

// 获取进程的标准输入process.stdin.on('data', (buffer) => {  // 回调的是 buffer,需要处理成 string  const action = buffer.toString().trim();  console.log(action)})

终端运行命令:node index.js,可以看到是可以持续输入的。

怎么使用Nodejs实现石头剪刀布小游戏

计算赢的次数,超过三次后电脑不想玩了,然后通过 process.exit() 把进程给杀了:

const game = require('./game.js')var winCount = 0;// 获取进程的标准输入process.stdin.on('data', (buffer) => {  // 回调的是 buffer,需要处理成 string  const action = buffer.toString().trim();  const result = game(action);  if (result == 1) {    winCount++    if (winCount == 3) {      console.log('我不玩儿了!哼!');      process.exit();    }  }})

怎么使用Nodejs实现石头剪刀布小游戏

可以看到,在一阵和电脑的你来我往然后赢了电脑三次之后就达成条件结束进程了。

关于“怎么使用Nodejs实现石头剪刀布小游戏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么使用Nodejs实现石头剪刀布小游戏

本文链接: https://lsjlt.com/news/280037.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用Nodejs实现石头剪刀布小游戏
    这篇文章将为大家详细讲解有关怎么使用Nodejs实现石头剪刀布小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求分析这个石头剪刀布小游戏是人机交互的形式,我们随机输入石头(rock)/剪刀(scis...
    99+
    2023-06-15
  • python小游戏(剪刀石头布)
    #!/usr/bin/python#-- coding: utf8--import random #导入随机数的模块 computer = random.choice(['石头', '剪刀', '布'])player = raw_in...
    99+
    2023-01-31
    小游戏 剪刀 石头
  • 用Python实现石头剪刀布游戏
     从控制台输入要出的拳 —— 剪刀(0)/石头(1)/布(2)  电脑 **随机** 出拳   比较胜负 增加错误输入...
    99+
    2024-04-02
  • Python怎么实现剪刀石头布游戏
    这篇文章主要介绍“Python怎么实现剪刀石头布游戏”,在日常操作中,相信很多人在Python怎么实现剪刀石头布游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么实现剪刀石头布游戏”的疑惑有所...
    99+
    2023-06-02
  • C#怎么实现石头剪刀布游戏
    今天小编给大家分享一下C#怎么实现石头剪刀布游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。需要实现如下图所示的人机猜拳小...
    99+
    2023-06-30
  • 怎么用python实现剪刀石头布游戏
    本篇内容主要讲解“怎么用python实现剪刀石头布游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python实现剪刀石头布游戏”吧!srpgame.py#!/urs/bin/env&n...
    99+
    2023-06-27
  • java实现简单石头剪刀布小游戏
    简介 石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,...
    99+
    2024-04-02
  • python实现简单石头剪刀布游戏
    前言: 相信大家在童年或者生活中都玩过石头剪刀布这个游戏,这个游戏需要两个及以上的人。而今天,网上也实现了石头剪刀布的游戏。通过初步学习python,也学会了如何编写这个游戏。 ...
    99+
    2024-04-02
  • 怎么用Python写剪刀石头布游戏
    本篇内容主要讲解“怎么用Python写剪刀石头布游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python写剪刀石头布游戏”吧!电脑赢的情况电脑(computer)玩家(player)...
    99+
    2023-06-27
  • 使用Java编写石头剪刀布游戏
    使用Java编写石头剪刀布游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码package Ring1270.pra.java01;import jav...
    99+
    2023-06-06
  • Java实现和电脑玩剪刀石头布游戏
    剪刀石头布游戏大家都玩过吧,今天分享Java实现和电脑玩剪刀石头布游戏的具体代码,供大家参考,具体内容如下 游戏总类 import java.util.Scanner; publ...
    99+
    2024-04-02
  • C语言实现与电脑玩剪刀石头布游戏
    目录1.导入头文件2.游戏菜单3.开始游戏并对电脑输入数据4.判断输赢并输出结果5.全代码C语言实现与电脑进行剪刀石头布 游戏解析: 1.导入头文件 2.游戏菜单 3.开始游戏并对电...
    99+
    2022-11-13
    C语言剪刀石头布游戏 C语言剪刀石头布
  • 安卓练习----安卓android实现一个石头剪刀布小游戏
    此博客用安卓android实现了一个简单的剪刀石头布小游戏。能完成人机对抗。 说明 这是我老师布置的一道课内作业,图片资源由老师提供,本篇博客仅...
    99+
    2022-06-06
    小游戏 Android
  • 微信小程序游戏开发│石头剪刀布游戏(附源码)
     石头剪刀布游戏功能中一方是电脑,另一方是玩家。游戏时电脑一直快速切换出拳显示,当玩家选择底部的剪子、石头、布后,则电脑出拳停止,并在紫色方块中显示用户的出拳图片。游戏判断出输赢结果,记录玩家赢的次数。对战一局后可以单击“再来!”按钮...
    99+
    2023-09-02
    游戏 小程序 微信小程序
  • C#简易人机对抗“石头剪刀布”游戏的实现
    需要实现如下图所示的人机猜拳小游戏: 我们需要建立一个玩家类Player、一个电脑类Computer、一个裁判类Judge来分别模拟各自的操作: 【Player.cs】 usi...
    99+
    2024-04-02
  • 如何用Python做一个骰子模拟器和石头剪刀布游戏
    这篇“如何用Python做一个骰子模拟器和石头剪刀布游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用Python做一...
    99+
    2023-06-27
  • 怎么使用CocosCreator实现射击小游戏
    这篇文章主要介绍怎么使用CocosCreator实现射击小游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!分析下制作步骤:1. 准备好资源,搭建场景资源的话可以自己到网上找,也可以直接用我的也行;创建好相应文件夹,...
    99+
    2023-06-14
  • 怎么用Python实现2048小游戏
    这篇文章主要介绍怎么用Python实现2048小游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、开发环境Python版本:3.6.4相关模块:pygame模块;以及一些Python自带的模块。二、环境搭建安装P...
    99+
    2023-06-15
  • 怎么使用Vue2+JS实现扫雷小游戏
    这篇文章主要讲解了“怎么使用Vue2+JS实现扫雷小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Vue2+JS实现扫雷小游戏”吧!实现步骤1、场景布局实现布局就是经典的方格布局...
    99+
    2023-07-02
  • 怎么使用JS+Canvas实现接球小游戏
    本篇内容介绍了“怎么使用JS+Canvas实现接球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成果展示实现思路这里我们采用疑问的句式...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作