运行一个node.js程序——剪刀石头布(二)

继续上一篇文章的代码升级。利用commenjs来改造:
index.js文件夹部分的代码:

var playerAction =  process.argv[process.argv.length - 1];

const game = require('./lib')

// const result = game(playerAction);
// console.log(result);

// 设置变量的一个数据统计
let count = 0;

// 设置用户输入多次代码的操作
// process.stdin用来获取进程的标准输入
process.stdin.on('data', e => {
    const playerAction = e.toString().trim();

    // console.log(playerAction);

    const result = game(playerAction);
    console.log(result);

    if(result === -1) {
        count++;
    }
    if(count === 3) {
        process.exit(); // 如果玩家连续赢了三次,杀掉进程.
    }
})

lib.js部分的代码:

// 利用moudle.exports将游戏逻辑导出成一个函数:
module.exports = function (playerAction) {
    var random = Math.random() * 3;
    if (random < 1) {
      var computerAction = "rock";
    } else if (random > 2) {
      var computerAction = "scissor";
    } else {
      var computerAction = "paper";
    }
    console.log('我出了' + computerAction);
  
    if (computerAction === playerAction) {
      console.log("双方平局");
      return 0;
    } else if (
      (computerAction === "rock" && playerAction === "paper") ||
      (computerAction === "scissor" && playerAction === "rock") ||
      (computerAction === "papaer" && playerAction === "scissor")
    ) {
      console.log("你赢了!");
      return -1;
    } else {
      console.log("你输了~");
      return 1;
    }
  };
  

此外,加入的点还有设置了数值进行变量的数据统计,然后利用count的数值判断玩家赢了的次数,超过三次电脑自动杀掉进程认输。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值