javascript - 简单的猜拳游戏,请问错误在哪?
本文介绍了javascript - 简单的猜拳游戏,请问错误在哪?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var userchoice = prompt("please choose Rock Paper or Scissor!");
var pcchoice = Math.random();
switch(pcchoice) {
case (pcchoice <= 0.33):
pcchoice = 'rock';
break;
case (pcchoice > 0.33 && pcchoice <= 0.66):
pcchoice = 'paper';
break;
default:
pcchoice = 'scissor';
}
function rockGame(userchoice) {
console.log(userchoice);
console.log(pcchoice);
if(userchoice === pcchoice) {
console.log('Tie!');
} else if(userchoice === 'rock') {
if(pcchoice === 'scissor') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else if(userchoice === 'scissor') {
if(pcchoice === 'paper') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else if(userchoice === 'paper'){
if(pcchoice === 'rock') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else {
console.log('输入错误!');
}
}
rockGame();
解决方案
function main() {
var userchoice = prompt("please choose Rock Paper or Scissor!");
var pcchoice = Math.random();
if (pcchoice <= 0.33) {
pcchoice = 'rock';
} else if (pcchoice > 0.33 && pcchoice <= 0.66) {
pcchoice = 'paper';
} else {
pcchoice = 'scissor';
}
rockGame(userchoice, pcchoice);
}
function rockGame(userchoice, pcchoice) {
console.log(userchoice);
console.log(pcchoice);
if(userchoice === pcchoice) {
console.log('Tie!');
} else if(userchoice === 'rock') {
if(pcchoice === 'scissor') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else if(userchoice === 'scissor') {
if(pcchoice === 'paper') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else if(userchoice === 'paper'){
if(pcchoice === 'rock') {
console.log('You win!');
} else {
console.log('PC win!');
}
} else {
console.log('输入错误!');
}
}
main();
试试~
号外:
查MDN时意外发现switch
有个hacky写法居然是支持条件选择的……参见这里的多条件case方法里的方法二,大概就是得写成:
var pcchoice = Math.random();
switch (true) {
case pcchoice <= 0.33:
pcchoice = 'rock';
break;
case pcchoice > 0.33 && pcchoice <= 0.66:
pcchoice = 'paper';
break;
default:
pcchoice = 'scissor';
}
这样~~
至于具体怎么写,按习惯就好咯。
这篇关于javascript - 简单的猜拳游戏,请问错误在哪?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文