继续上一篇文章的代码升级。利用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的数值判断玩家赢了的次数,超过三次电脑自动杀掉进程认输。