Javascript HTML游戏中的JS赢了';跑不动

Javascript HTML游戏中的JS赢了';跑不动,javascript,html,nested,Javascript,Html,Nested,我正在尝试构建一个摇滚/纸/剪刀游戏,从第一个到第五个,用HTML的脚本标记。据我所知,一切正常,但当我运行它时,我在控制台中的结束脚本标记处收到一条错误消息 你们能看一下并告诉我: 1.)为什么我在结束脚本标记处收到错误消息,以及我需要做什么来解决这个问题,并让代码按我希望的方式运行 2.)如果您对我的代码有什么建议?我自学成才,尽可能多地吸收 //要开始的游戏参数 var计算机分数=0 var playerScore=0 //游戏功能 函数游戏(){ while(computerScore

我正在尝试构建一个摇滚/纸/剪刀游戏,从第一个到第五个,用HTML的脚本标记。据我所知,一切正常,但当我运行它时,我在控制台中的结束脚本标记处收到一条错误消息

你们能看一下并告诉我:

1.)为什么我在结束脚本标记处收到错误消息,以及我需要做什么来解决这个问题,并让代码按我希望的方式运行

2.)如果您对我的代码有什么建议?我自学成才,尽可能多地吸收

//要开始的游戏参数
var计算机分数=0
var playerScore=0
//游戏功能
函数游戏(){
while(computerScore>=5&&playerScore>=5){
//计算机选择
函数computerPlay(){
让玩家选择=提示(“做出选择:石头、布或剪刀!”)
让computerSelection=Math.floor(Math.random()*3)
//球员选择
if(playerSelection.toLowerCase()=“摇滚乐”){
var playerChoice=0;
}else if(playerSelection.toLowerCase()=“纸张”){
var playerChoice=1;
}else if(playerSelection.toLowerCase()=“剪刀”){
var playerChoice=2;
}否则{
警告(“对不起,该词无法识别。请选择石头、布或剪刀。”)
}
//摇滚乐
如果(计算机选择==0){
var computerChoice=0
//纸
}否则如果(计算机选择==1){
var computerChoice=1
//剪刀
}否则如果(计算机选择==2){
var computerChoice=2
}else{}
//结果
如果(计算机选择==0&&playerChoice==0 | |计算机选择==1&&playerChoice==1 | |计算机选择==2&&playerChoice==2){
警报(“平局!”)
}else if(computerSelection==1&&playerChoice==0){
警惕(“纸打石头,你输了!”)
}else if(计算机选择==2&&playerChoice==0){
警惕(“石头胜过剪刀,你赢了!”)
}else if(计算机选择==0&&playerChoice==1){
警惕(“纸胜石头,你赢了!”)
}else if(计算机选择==0&&playerChoice==2){
警惕(“石头胜过剪刀,你输了!”)
}else if(计算机选择==1&&playerChoice==2){
警惕(“剪刀打布,你赢了!”)
}else if(计算机选择==2&&playerChoice==1){
警惕(“剪刀打纸,你输了!”)
}else{}
//增量
如果(计算机选择>播放选择){
计算机评分++
}否则如果(计算机选择<播放选择){
球员核心++
}else{}
如果(计算机分数==5&&playerScore<5){
警报(“计算机获胜,+computerScore+”至“+playerScore+”!”)
}否则如果(playerScore==5&&computerScore<5){
警报(“玩家获胜,“+playerScore+”到“+computerScore+”!”)
}else{}
}

game()
这里有几件事

首先,游戏功能没有结束括号

其次,游戏函数中的computerPlay函数从未被调用(它也没有结束括号,但我建议无论如何都删除它)

第三,当computer/playerScore大于5时,会触发while条件(第12行),但在第7行和第8行,您将它们设置为0。您可能希望它们小于或等于

请参阅下面的固定版本


//游戏参数开始
var计算机分数=0
var playerScore=0
//游戏功能
函数游戏(){

while(computerScore看起来像。是的,具体来说:
if(computerSelection==0&&playerChoice==0 | | computerSelection==1&&playerChoice==1 | | computerSelection==2&&playerChoice==2){
在调用
game()之前,您还需要两个右括号
同样
computerScore>=5&&playerScore>=5
当你开始使用一个像样的IDE来编写代码时,它永远不会是真的。这将帮助你避免类似的括号问题。非常感谢。我将对照我之前提供的内容来回顾一下你在这里提供的内容。不用担心,有用的提示:如果你将代码整齐地缩进,你就可以很容易地使每个功能都有一个匹配的结束括号!基本上所有的答案都是在对问题的评论中回答的-提问者不能删除一个已接受答案的问题,因为这里应该是这样。关于问题和答案,除了OP@mplungjan好吧,很抱歉,还在学习进进出出。将更加留心前进。