-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
102 lines (94 loc) · 4.51 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
* @licstart The following is the entire license notice for the
* JavaScript code in this page.
*
* Copyright (C) 2024 Michael "Cal" Krug
*
*
* The JavaScript code in this page is free software: you can
* redistribute it and/or modify it under the terms of the GNU
* General Public License (GNU GPL) as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version. The code is distributed WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
*
* As additional permission under GNU GPL version 3 section 7, you
* may distribute non-source (e.g., minimized or compacted) forms of
* that code without the copy of the GNU GPL normally required by
* section 4, provided you include this license notice and a URL
* through which recipients can access the Corresponding Source.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*/
// INPUT userWeaponChoice from userPlayer from UI
// INITIALIZE userWeaponChoice as an RPS (i.e., "Rock", "Paper", or "Scissors") value
let userWeaponChoice;
let npcWeaponChoice;
let userPoint = 0;
let npcPoint = 0;
function game() { // Consists of five rounds, winner is decided based on points
playRound();
playRound();
playRound();
playRound();
playRound();
// Winner decider, declarator
if (userPoint > npcPoint) {
console.log("The Player won the game.\n\n" + "Score:\n" + "\n\t- userPoint: " + userPoint + "\n\t- npcPoint: " + npcPoint);
} else if (userPoint < npcPoint) {
console.log("The NPC won the game.\n\n" + "Score:\n" + "\n\t- userPoint: " + userPoint + "\n\t- npcPoint: " + npcPoint);
} else {
console.log("The Cat (No One) won the game.\n\n" + "Score:\n" + "\n\t- userPoint:" + userPoint + "\n\t- npcPoint: " + npcPoint);
}
function playRound() {
// INPUT userWeaponChoice from userPlayer from UI
// INITIALIZE userWeaponChoice as an RPS (i.e., "Rock", "Paper", or "Scissors") value
userWeaponChoice = prompt("Welcome to Odin's Rock, Paper, Scissors!\n\nChoose your weapon:\n- \"Rock\"\n- \"Paper\"\n- \"Scissors\"");
// COMPUTE userWeaponChoice from userNPC as a random RPS value
getComputerChoice();
function getComputerChoice() {
npcWeaponChoice = Math.floor(Math.random() * 3) + 1; // returns random integer 1-3
switch (npcWeaponChoice) {
case 1:
npcWeaponChoice = "rock";
break;
case 2:
npcWeaponChoice = "paper";
break;
case 3:
npcWeaponChoice = "scissors";
break;
}
}
getUserChoice();
function getUserChoice() {
userWeaponChoice = userWeaponChoice.toLowerCase();
}
if (userWeaponChoice == npcWeaponChoice) { // TODO: Add method to values to make "Choice" values have capitalization on the first letter, possibly for output
console.log(userWeaponChoice + " is equivalent to " + npcWeaponChoice + "\nInit another round");
playRound(); // account for ties by replaying the round
} else if (userWeaponChoice == "rock" && npcWeaponChoice == "paper") { // Rock vs Paper
console.log(npcWeaponChoice + " beats " + userWeaponChoice + "\nROUND LOST");
npcPoint++;
} else if (userWeaponChoice == "paper" && npcWeaponChoice == "rock") { // Paper vs Rock
console.log(userWeaponChoice + " beats " + npcWeaponChoice + "\nROUND WIN");
userPoint++;
} else if (userWeaponChoice == "rock" && npcWeaponChoice == "scissors") { // Rock vs Scissors
console.log(userWeaponChoice + " beats " + npcWeaponChoice + "\nROUND WIN");
userPoint++;
} else if (userWeaponChoice == "scissors" && npcWeaponChoice == "rock") { // Scissors vs Rock
console.log(npcWeaponChoice + " beats " + userWeaponChoice + "\nROUND LOST");
npcPoint++;
} else if (userWeaponChoice == "scissors" && npcWeaponChoice == "paper") { // Scissors vs Paper
console.log(userWeaponChoice + " beats " + npcWeaponChoice + "\nROUND WIN");
userPoint++;
} else if (userWeaponChoice == "paper" && npcWeaponChoice == "scissors") { // Paper vs Scissors
console.log(npcWeaponChoice + " beats " + userWeaponChoice + "\nROUND LOST");
npcPoint++;
} else {
console.error("Please enter a valid value."); // User inputs invalid value
}
}
}