rock-paper-scissor-cli
Version:
A CLI app that lets you play Rock, Paper, Scissors!
97 lines (87 loc) • 2.38 kB
JavaScript
const inquirer = require('inquirer');
const clc = require('cli-color');
var userScore = 0;
var computerScore = 0;
var userObject = '';
var computerObject = '';
var randNum;
var choice = [
{
type: 'input',
name: 'object',
message: 'Rock, Paper or Scissors? ✊ 🖐 🖖 :'
}
];
console.log(clc.blueBright('Now Playing...'));
console.log('Pick Rock, Paper, or Scissors');
ask();
function ask() {
inquirer.prompt(choice).then(answers => {
userObject = answers.object;
userObject = userObject.toUpperCase();
if (computerScore < 3 && userScore < 3) {
switch (userObject) {
case 'ROCK':
choose();
break;
case 'PAPER':
choose();
break;
case 'SCISSORS':
choose();
break;
default:
console.log('Invalid Input... Try Again!');
ask();
}
} else {
if (computerScore === 3) {
console.log('YOU LOSE THE GAME! 💀');
} else {
console.log('CONGRATS! YOU WIN! 🏆');
}
}
function choose() {
console.log(clc.greenBright(`You Chose ${userObject}`));
pick();
check();
}
});
}
function pick() {
randNum = Math.random() * 3;
randNum = Math.floor(randNum);
let computerObjects = ["PAPER", "ROCK", "SCISSORS"];
if (randNum === 0) {
computerObject = computerObjects[randNum];
} else if (randNum === 1) {
computerObject = computerObjects[randNum];
} else {
computerObject = computerObjects[randNum];
}
console.log(clc.redBright(`CPU chose ${computerObject}`));
}
function check() {
if (computerObject === userObject) {
console.log('TIE! 🤝');
console.log(`PLAYER Score: ${userScore} CPU Score: ${computerScore}`);
ask();
} else if (userObject === 'PAPER' && computerObject === 'ROCK') {
winCase();
} else if (userObject === 'ROCK' && computerObject === 'SCISSORS') {
winCase();
} else if (userObject === 'SCISSORS' && computerObject === 'PAPER') {
winCase();
} else {
console.log('You Lost This Round 😭');
computerScore++;
console.log(`PLAYER Score: ${userScore} CPU Score: ${computerScore}`);
ask();
}
function winCase() {
console.log('You Won This Round! 🔥');
userScore++;
console.log(`PLAYER Score: ${userScore} CPU Score: ${computerScore}`);
ask();
}
}