阿尔卑斯丶
圣骑士
圣骑士
  • 最后登录2023-11-03
  • 发帖数59
  • 社区居民
  • 原创写手
阅读:6236回复:2

[Javascript]Nodejs的一个石头剪刀布的小游戏(假装是小游戏)(一)

楼主#
更多 发布于:2019-11-22 15:48
最近在工作之余学习nodejs,学了一个和nodejs相关的小游戏(命令行操作的小游戏)。这个小游戏是为了让我们能够看一下nodejs中的一些内置方法。
既然是石头剪刀布的小游戏,那我们首先要做到的就是能够识别到玩家出的是石头剪刀布的哪一种。nodejs中的内置对象有一个叫做process的东西,我们可以打印出来看一下。
console.log(process)

process是nodejs的进程对象,里边包含了很多的信息,这里我们会用到process中的argv属性
process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数,我们可以在后边输入内容,输入的内容就会是这个数组的最后一项。
接下来我先将这个游戏的代码贴出来再进行讲解
var player = process.argv[process.argv.length - 1]
var radom = Math.random() * 3;
if (radom < 1) {
    var computer = "剪刀"
    console.log("电脑出剪刀")
} else if (radom > 2) {
    var computer = '石头'
    console.log("电脑出石头")
} else {
    var computer = "布"
    console.log("电脑出布")
}
if (computer === player) {
    console.log("玩家出" + player)
    console.log("平局");
} else if (
    (computer == "石头" && player == "布") ||
    (computer == "剪刀" && player == "石头") ||
    (computer == "布" && player == "剪刀")
) {
    console.log("玩家出" + player)
    console.log("玩家赢了")
} else {
    console.log("玩家出" + player)
    console.log("电脑赢了")
}


我们需要在vscode或者webstorm的命令行终端上执行这个游戏,前提是电脑上安装过nodejs。我们将串代码复制在一个index.js文件中。在命令行中使用node index.js 石头 来出石头,剪刀和布以此类推。


现在来解释一下这个游戏包含了什么,
我们首先要获取到玩家出的什么,我们可以获取process.argv这个属性返回的数组的最后一项就是我们出的石头剪刀布,就是process.argv[process.argv.length - 1]
然后要生成一个随机数来表示电脑出的什么,因为会出现三种情况,所以我们就用的Math.random() * 3;
然后就是逻辑判断,根据随机数的大小表示电脑出的是什么,用小于一,大于二或者介于一和二之间表示石头剪刀布的一种
最后的逻辑判断就是根据玩家出的和电脑出的进行比较得出输赢。以上就是这个小游戏的最初版本
doubleyong
管理员
管理员
  • 最后登录2024-11-22
  • 发帖数1195
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
沙发#
发布于:2019-11-25 12:44
哈哈,坐等
知识需要管理,知识需要分享
阿尔卑斯丶
圣骑士
圣骑士
  • 最后登录2023-11-03
  • 发帖数59
  • 社区居民
  • 原创写手
板凳#
发布于:2019-11-22 16:51
后续会更新改进版,并增加一部分心的nodejs 的内置对象的应用
游客


返回顶部

公众号

公众号