저는 가위 바위 보 게임의 스크립트를 만들고 있으며 여기에 "Rock, Paper 또는 Scissors"를 무작위로 반환하는 컴퓨터가 있습니다.
function computerPlay() {
let computerOption = ['Rock', 'Paper', 'Scissors']
return computerOption[Math.floor(Math.random() * computerOption.length)];
}
그리고 나는 여기에서 나를 상대로 플레이 할 컴퓨터를 얻었다 (만약 내가 계속 '록'을 선택했다면)
function playRound(playerSelection, computerSelection) {
if (computerSelection == 'Paper') {
return 'You lose! Paper beats Rock!';
} else if (computerSelection == 'Rock') {
return 'You tied! Nobody wins.';
} else {
return 'You win! Rock beats Scissors!';
}
}
const playerSelection = 'Rock'
const computerSelection = computerPlay()
console.log(playRound(playerSelection, computerSelection))
내가 어려움을 겪고있는 부분은 새로운 함수 game ()에서 컴퓨터가 5 번 연속으로 플레이하도록하는 함수를 만드는 것입니다. 나는 아직 루핑을 배우지 않았고, TOP을 통해 배우고 있으며 그들은 내 playRound () 함수를 연속 5 번 사용하고 매 게임 후 결과를 console.log하는 것이 좋습니다.
function game() {
playRound(playerSelection, computerSelection)
console.log(playRound(playerSelection, computerSelection));
playRound(playerSelection, computerSelection)
console.log(playRound(playerSelection, computerSelection));
playRound(playerSelection, computerSelection)
console.log(playRound(playerSelection, computerSelection));
playRound(playerSelection, computerSelection)
console.log(playRound(playerSelection, computerSelection));
playRound(playerSelection, computerSelection)
console.log(playRound(playerSelection, computerSelection));
}
game () 함수를 호출하면 console.log가 계속해서 같은 값을 5 번 반환하므로 게임을 한 번만 실행하고 결과를 5 번만 표시하는 것 같습니다. 게임을 실제로 5 번 실행할 수 있도록 도와 주시면 감사하겠습니다.
를 생성 computerSelection
내부playRound
새로운 임의 컴퓨터 선택은 각 게임에 생성 그래서, 기능 :
function computerPlay() {
let computerOption = ['Rock', 'Paper', 'Scissors']
return computerOption[Math.floor(Math.random() * computerOption.length)];
}
function playRound() {
const playerSelection = 'Rock'
const computerSelection = computerPlay()
if (computerSelection == 'Paper') {
return 'You lose! Paper beats Rock!';
} else if (computerSelection == 'Rock') {
return 'You tied! Nobody wins.';
} else {
return 'You win! Rock beats Scissors!';
}
}
function game() {
for (let i = 0; i < 5; i++) {
console.log(playRound());
}
}
game();
또는 다음을 사용하는 저렴한 대화 형 버전의 경우 prompt
:
const choices = ['Rock', 'Paper', 'Scissors'];
function computerPlay() {
return choices[Math.floor(Math.random() * choices.length)];
}
function playRound() {
let playerSelection;
while (!choices.includes(playerSelection)) {
playerSelection = prompt('Rock, Paper, or Scissors?');
if (playerSelection === null) {
throw new Error('exiting');
}
}
const computerSelection = computerPlay()
if (computerSelection == 'Paper') {
return 'You lose! Paper beats Rock!';
} else if (computerSelection == 'Rock') {
return 'You tied! Nobody wins.';
} else {
return 'You win! Rock beats Scissors!';
}
}
const delay = ms => new Promise(res => setTimeout(res, ms));
async function game() {
for (let i = 0; i < 5; i++) {
console.log(playRound());
await delay(50); // give Stack Snippet console time to render
}
}
game();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다