Javascript 使用JS的石头剪刀,但不知道玩家赢了多少次';行不通

Javascript 使用JS的石头剪刀,但不知道玩家赢了多少次';行不通,javascript,html,css,Javascript,Html,Css,JS新手,遇到问题。问题是,一名球员赢了多少次比赛,结果都不好。如果看代码很无聊,那就告诉我一种编辑代码的方法。我用python写了完全相同的代码,它工作得很好,IDK JS有什么问题吗 我知道UI设计还有其他问题,请忽略它:D const rpsGame=(用户)=>{ userChoise=user.id; var bot=Math.floor(Math.random()*3); 如果(bot==0){ var botChoise=“岩石”; }否则如果(bot==1){ botChois

JS新手,遇到问题。问题是,一名球员赢了多少次比赛,结果都不好。如果看代码很无聊,那就告诉我一种编辑代码的方法。我用python写了完全相同的代码,它工作得很好,IDK JS有什么问题吗

我知道UI设计还有其他问题,请忽略它:D

const rpsGame=(用户)=>{
userChoise=user.id;
var bot=Math.floor(Math.random()*3);
如果(bot==0){
var botChoise=“岩石”;
}否则如果(bot==1){
botChoise=“纸张”;
}否则{
botChoise=“剪刀”;
}
让userWins=0;
设botWins=0;
if(userChoise==botChoise){
document.querySelector(“.choose”).textContent=“你打了!”;
}否则如果(userChoise==“rock”&botChoise==“剪刀”){
let won=(document.querySelector(“.choose”).textContent=“You won!”);
userWins+=1;
document.querySelector(“.userWins”).textContent=userWins;
}否则如果(userChoise==“rock”&botChoise==“paper”){
document.querySelector(“.choose”).textContent=“你输了!”;
botWins+=1;
document.querySelector(“.userWins”).textContent=botWins;
}否则如果(userChoise==“paper”&botChoise==“rock”){
document.querySelector(“.choose”).textContent=“你赢了!”;
userWins+=1;
document.querySelector(“.userWins”).textContent=userWins;
}else if(userChoise==“paper”和botChoise==“剪刀”){
document.querySelector(“.choose”).textContent=“你输了!”;
botWins+=1;
document.querySelector(“.userWins”).textContent=botWins;
}否则如果(userChoise==“剪刀”和botChoise==“纸”){
document.querySelector(“.choose”).textContent=“你赢了!”;
userWins+=1;
document.querySelector(“.userWins”).textContent=userWins;
}否则如果(userChoise==“剪刀”和botChoise==“石头”){
document.querySelector(“.choose”).textContent=“你输了!”;
botWins+=1;
document.querySelector(“.userWins”).textContent=botWins;
}
if(botChoise==“岩石”){
让rock=document.querySelector(“剪刀”);
rock.setAttribute(“src”,“/rockPaperScissors/img/rock.jpg”);
}else if(两个选项==“纸张”){
让纸=文件。查询选择器(“剪刀”);
paper.setAttribute(“src”,“/rockPaperScissors/img/paper.jpg”);
}否则{
让剪刀=document.querySelector(“剪刀”);
setAttribute(“src”,“/rockPaperScissors/img/scissors.jpg”);
}
if(userChoise==“rock”){
让rock=document.querySelector(“rock”);
rock.setAttribute(“src”,“/rockPaperScissors/img/rock.jpg”);
}else if(用户选择==“纸张”){
让纸张=文档.querySelector(#rock”);
paper.setAttribute(“src”,“/rockPaperScissors/img/paper.jpg”);
}否则{
让剪刀=document.querySelector(“石头”);
setAttribute(“src”,“/rockPaperScissors/img/scissors.jpg”);
}
};
.main{
宽度:70%;
保证金:自动;
}
.main h1{
动画:颜色变化10秒无限;
}
@关键帧颜色更改{
0% {
颜色:蓝色;
}
10% {
颜色:#8e44ad;
}
20% {
颜色:#1abc9c;
}
30% {
颜色:#d35400;
}
40% {
颜色:蓝色;
}
50% {
颜色:#34495e;
}
60% {
颜色:蓝色;
}
70% {
颜色:#2980b9;
}
80% {
颜色:#f1c40f;
}
90% {
颜色:#2980b9;
}
100% {
颜色:粉红色;
}
}
.集装箱{
显示器:flex;
证明内容:周围的空间;
边缘顶部:75px;
}
.集装箱#岩石,
.容器#纸,
.集装箱#剪刀{
过渡:0.1s;
}
.container#rock:悬停,
.容器#纸:悬停,
.容器#剪刀:悬停{
光标:指针;
盒影:rgba(220,20,60,0.7)0px 0px 40px;
}
.标题{
显示器:flex;
证明内容:周围的空间;
}
.标题。选择{
字体系列:无衬线;
保证金:自动0像素0;
颜色:卡德蓝;
}
.标题.结果{
保证金:自动0;
字体系列:无衬线;
字体大小:40px;
}

石头剪子布
0
选一个
0

回答:

保存中奖计数的变量
botWins
userWins
,需要移出
rpsGame
功能。此时,每次调用函数时,它们都被设置为零

正在为
botWins
更新错误的元素。将当前编码为的行中的
userWins
替换为
botWins

 document.querySelector('.userWins').textContent = botWins
(多行受影响,可能是剪切和粘贴错误。由@MarkM在注释中提出)


建议: 如果您在编译器中编写JavaScript,编译器将告诉您未被注意到的错误,例如未在代码中声明
userChoise

(如果在草率模式下编写JavaScript,分配给未声明的变量会自动在全局范围内创建变量!)


关于代码段:您可以将代码格式化为代码段,以便读者可以运行它来查看它的功能。请参阅帮助并搜索“代码段”


代码片段示例使用更正的代码和控制台。记录胜利和所做选择的日志

“严格使用”;
让userWins=0;
设botWins=0;
常量rpsGame=(用户)=>{
const userChoise=user.id;
var bot=Math.floor(Math.random()*3);
如果(bot==0){
var botChoise=“岩石”;
}否则如果(bot==1){
botChoise=“纸张”;
}否则{
botChoise=“剪刀”;
}
if(userChoise==botChoise){
document.querySelector(“.choose”).textContent=“你打了!”;
}否则如果(userChoise==“rock”&botChoise==“剪刀”){
让won=document.querySelector(“.choose”).textContent=“你赢了!”;
userWins+=1
document.querySelector('.userWins')。textContent=userWins
}否则如果(userChoise==“rock”&botChoise==“paper”){