The task was to create a simple game which shows the process in the console.
Each round JavaScript generates a number which is compared with users.
var function rockScissorsPaper(){
init();
function init() {
var wantsPlay = confirm('Start the game ?');
while(wantsPlay){
startGame();
}
}
function startGame(){
var jsChoice;
var userChoice;
var winSituations = {
Rock: 'Scissors',
Scissors: 'Paper',
Paper: 'Rock'
}
jsChoice = getJavaScriptChoice();
userChoice = getUserChoice();
if (userChoice === jsChoice) {
alert('Draw!');
// winSituations[userChoice] це об'єкт.
// Якщо користувач обрав Rock - [userChoice] це індекс об'єкту.
// Тому winSituations[userChoice] поверне winSituations[userChoice]: Scissors
// Якщо JS теж згенерував Scissors в змінну jsChoice - користувач переміг
} else if(winSituations[userChoice] === jsChoice ){
alert('You won!');
} else {
alert('You bloody lost!')
}
console.log('Javascript: ' + jsChoice);
console.log('You: ' + userChoice);
}
// Генерує випадковий варіант JavaScript-а
function getJavaScriptChoice(){
var jsActualChoice;
var jsNumChoice = Math.random() * 100;
if(jsNumChoice < 33){
jsActualChoice = 'Rock';
} else if (jsNumChoice > 66){
jsActualChoice = 'Paper';
}
else{
jsActualChoice = 'Scissors';
}
return jsActualChoice;
}
// дає користувачу вибрати варіант, повертає userActualChoice яке вище записується в userChoice
function getUserChoice() {
while(!userActualChoice) {
var userNumChoice = prompt('Your choice ? \nRock: 1\nScissors: 2\nPaper: 3')
if (userNumChoice === null) {
alert('Good bye');
throw console.warn('You stopped the game');
}
var userActualChoice;
switch (userNumChoice) {
case '1':
userActualChoice = 'Rock';
break;
case '2':
userActualChoice = 'Scissors';
break;
case '3':
userActualChoice = 'Paper';
break;
default:
alert('Please choose 1 for Rock, 2 for Scissors, 3 for Paper');
}
}
return userActualChoice;
}
}
Launch the script