Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

javascript rock paper scissors

/*
Options
(Note: each option beats the next option in the array
although the last option in the array beats the first.
This means you can add more options if you wish.)
*/
const options = [ "rock", "scissors", "paper" ];

// do while ensures the body is executed at least once
do {
	// get user input
	let input = window.prompt(options.map((option, idx) => "enter " + idx + " for " + option).join(", "));
	// check if the user pressed "Ok" or "Cancel"
	if (typeof input === "string") {
		// remove all non-numeric characters from input
		input = input.replace(/[^0-9]/g, "");
		// if the user has input a valid number
		if (options[input]) {
			// print the user's choice
			window.alert("You picked " + options[input] + "!");
			// generate the computer's choice
			const computer_choice = ~~(Math.random() * options.length);
			// print the computer's choice
			window.alert("The computer picked " + options[computer_choice] + "!");
			// process choices
			let you_beat = input + 1, computer_beats = computer_choice + 1;
			if (you_beat > options.length) {
				you_beat = 0;
			}
			if (computer_beats > options.length) {
				computer_beats = 0;
			}
			// print outcome
			if (you_beat === computer_choice) {
				window.alert("You win! :D");
			} else if (computer_beats === input) {
				window.alert("You loose... :(");
			} else {
				window.alert("It was a tie! :|");
			}
        } else {
			window.alert("Oh no! You didn't enter a number...");
		}
	} else {
		window.alert("Woops! You didn't enter anything or your input was not in the correct format...");
	}
} while (window.confirm("Play again?"));
Comment

PREVIOUS NEXT
Code Example
Javascript :: hypot in javascript 
Javascript :: array put value in index 
Javascript :: filter even numbers javascript 
Javascript :: jsx style styling 
Javascript :: jquery get element tag 
Javascript :: javascript string to number 
Javascript :: hide the js code from source 
Javascript :: js copy image to clipboard 
Javascript :: how to get last element of array in javascript 
Javascript :: refresh modal on button click jquery 
Javascript :: conditional jsx property 
Javascript :: catch javascript 
Javascript :: knexjs whereIn 
Javascript :: js catch rejected promise 
Javascript :: Error occurred while trying to proxy to: localhost:3000/ 
Javascript :: sequelize update sql 
Javascript :: how to get first and last element of array in javascript 
Javascript :: get current store id magento 2 
Javascript :: jquery 3.6.0 
Javascript :: react bootstrap col not working 
Javascript :: int to string javascript 
Javascript :: node ssh 
Javascript :: javascript to array 
Javascript :: javascript remove multiple commas from string 
Javascript :: javascript design patterns pdf 
Javascript :: tostring() javascript 
Javascript :: jest wait for timeout 
Javascript :: calling angular component method in service 
Javascript :: javascript foreach break 
Javascript :: nuxt 3 add plugin 
ADD CONTENT
Topic
Content
Source link
Name
3+9 =