我正在尝试制作'颜色猜测'脚本。
<body onload="do_game()">
<script>
var color=[blue,gold, grey,hotpink, maroon,olive,pink, purple, red,tan,];
var random_color;
var finished = false;
var guess_input_text;
var guess_input;
var random_color = Math.floor(Math.random()*color.length);
var guess;
var target;
do_game(){
while(!finished){
guess_input_text = prompt("I am thinking of one of these colors\n\n"
+color[]\n\n+"What color am I thinking of?\n");
target = color.indexOf(random_color);
guess_input = parseInt(guess_input_text);
}
}
</script>
</body>
它一直给我解析错误。 我放parseInt的原因是我想要用户类型颜色。 还有其他方法可以让他们猜测用户类型的颜色,直到它们正确(这应该与 target 相同)?
谢谢,
答案 0 :(得分:0)
您的代码中存在相当多的语法错误。
var color = ['blue', 'gold', 'grey', 'hotpink', 'maroon', 'olive', 'pink', 'purple', 'red', 'tan'];
var random_color;
var finished = false;
var guess_input_text;
var guess_input;
var random_color = Math.floor(Math.random() * color.length);
var guess;
var target;
function do_game() {
while (!finished) {
guess_input_text = prompt("I am thinking of one of these colors\n\n" + color + "\n\nWhat color am I thinking of?\n");
target = color.indexOf(random_color);
guess_input = parseInt(guess_input_text);
}
}
我修复了一些事情:
color
,而不是color[]
(仅当您需要访问索引color[x]
处的特定项时才使用x
{ {1}}是一个整数x
需要在引号中作为字符串的一部分\n\n
function
关键字
希望这会让你更接近你的目标。还有一些与语法无关的其他问题:
do_game()
永远不会成为finished
,因此您的代码将永远运行(换句话说,无限提示)indexOf
正在做你想做的事,因为true
是一个索引,而不是一种颜色random_color
,因为您正在比较字符串详细说明最后一点:您希望用户键入一个颜色,这将是一个字符串。如果要将他们键入的内容转换为数字,请仅使用parseInt
。您已将用户的猜测存储在parseInt
中,因此您只需使用guess_input_text
将其与target
进行比较。