使用javascript的石头、布和剪刀游戏

使用javascript的石头、布和剪刀游戏,javascript,html,css,Javascript,Html,Css,谁能帮我一下,告诉我错误在哪里。图像上的单击事件不起作用。游戏不起作用 我的代码- 让userScore=0; 让计算机得分=0; const userScore_span=document.getElementById('user-score'); const computerScore_span=document.getElementById('computer-score'); const result_p=document.querySelector('.result>p'); con

谁能帮我一下,告诉我错误在哪里。图像上的单击事件不起作用。游戏不起作用

我的代码-

让userScore=0;
让计算机得分=0;
const userScore_span=document.getElementById('user-score');
const computerScore_span=document.getElementById('computer-score');
const result_p=document.querySelector('.result>p');
const scoreBoard_div=document.querySelector(“.scoreBoard”);
const rock_div=document.getElementById('r');
const paper_div=document.getElementById('p');
const scissors_div=document.getElementById('s');
函数getComputerChoice(){
常量选项=['r','p','s'];
const randomNumber=Math.floor(Math.random()*3);
返回选项[随机数];
}
函数转换(){
如果(字母=='r')返回'rock';
如果(字母=='p')返回“纸张”;
如果(字母=='s')返回“剪刀”;
}
函数win(用户选择、计算机选择){
userScore++;
userScore_span.innerHTML=userScore;
computerScore_span.innerHTML=computerScore;
const smallUserWord='user'.fontsize(3.sub();
常量smallCompWord='comp'.fontsize(3.sub();
result_p.innerHTML=convert(userChoice)(smallUserWord)+'beats'+convert(computerChoice)(smallCompWord)+';
}
功能丢失(用户选择、计算机选择){
userScore++;
userScore_span.innerHTML=userScore;
computerScore_span.innerHTML=computerScore;
const smallUserWord='user'.fontsize(3.sub();
常量smallUserWord='comp'.fontsize(3.sub();
result_p.innerHTML=convert(userChoice)(smallUserWord)+'beats'+convert(computerChoice)(smallCompWord)+';
}
函数绘制(用户选择、计算机选择){
const smallUserWord='user'.fontsize(3.sub();
常量smallUserWord='comp'.fontsize(3.sub();
result_p.innerHTML=convert(userChoice)(smallUserWord)+'equals'+convert(computerChoice)(smallCompWord)+';
}
功能游戏(用户选择){
const computerChoice=getComputerChoice();
开关(用户选择+计算机选择){
案例“rs”:
案例“sp”:
案例“pr”:
win(用户选择、计算机选择);
打破
案例“rp”:
案例“ps”:
案例“sr”:
丢失(用户选择、计算机选择);
打破
案例“rr”:
案例“ss”:
案例“pp”:
绘图(用户选择、计算机选择);
打破
}
}
函数main(){
rock_div.addEventListener('单击',函数()){
游戏(‘r’);
});
纸张分区addEventListener('click',函数(){
游戏(‘p’);
});
剪子_div.addEventListener('click',function(){
游戏(s);
});
}
@导入url('https://fonts.googleapis.com/css?family=Asap');
* {
填充:0;
框大小:边框框;
保证金:0;
}
身体{
背景色:#24272e;
}
标题{
背景色:白色;
填充:20px;
}
标题>h1{
文本对齐:居中;
字体大小:粗体;
字体系列:尽快,无衬线;
颜色:#24272E;
}
.记分牌{
文本对齐:居中;
边框:3倍纯白;
宽度:200px;
保证金:20px自动;
位置:相对位置;
颜色:白色;
边界半径:5px;
字体大小:40px;
字体系列:尽快,无衬线;
填充:20px 20px;
}
.徽章{
背景色:#E2584D;
字体大小:30px;
字体系列:尽快,无衬线;
填充:2x10px;
颜色:白色;
}
#用户标签{
位置:绝对位置;
顶部:20px;
左:-40px;
}
#计算机标签{
位置:绝对位置;
顶部:20px;
右:-55px;
}
.结果{
文本对齐:居中;
字体系列:尽快,无衬线;
字体大小:粗体;
字体大小:30px;
颜色:白色;
}
.选择{
保证金:50px自动;
文本对齐:居中;
}
.选择{
利润率:0.20px;
显示:内联块;
填充:10px;
}
.选择:悬停{
光标:指针;
}
#行动信息{
文本对齐:居中;
字体系列:尽快,无衬线;
字体大小:粗体;
字体大小:30px;
颜色:白色;
}

石头剪刀布
用户
公司
0 :
0
纸盖石头。你赢了

行动起来
我能发现的问题:

  • main
    附加eventListeners,但从未调用它
  • 您正在定义两个同名变量:

    const smallUserWord='user'.fontsize(3.sub();
    常量smallUserWord='comp'.fontsize(3.sub()

  • 您有一个函数
    convert
    ,它返回一个字符串,但使用起来就像返回回调函数一样:

函数转换(){
如果(字母=='r')返回'rock';
如果(字母=='p')返回“纸张”;
如果(字母=='s')返回“剪刀”;
}
函数win(用户选择、计算机选择){
userScore++;
userScore_span.innerHTML=userScore;
computerScore_span.innerHTML=computerScore;
const smallUserWord1='user'.fontsize(3.sub();
常量smallCompWord2='comp'.fontsize(3.sub();
result_p.innerHTML=convert(userChoice)(smallUserWord)+'beats'+convert(computerChoice)(smallCompWord)+';
}

以下是如何实现它的

  • 结果中使用\u p.innerHTML
  • convert
    函数中传递参数
  • 将代码带到主功能之外
您可能希望在
lose
函数
${convert(userChoice)}${smallUserWord}中使用单词“getbeat by”${convert(computerChoice)}${(smallCompWord)}以便用户选择始终是第一个单词。但这取决于你的喜好

让userScore=0;
让计算机得分=0;
const userScore_span=document.getElementById('user-score');
const computerScore_span=document.getElementById('computer-score');
const result_p=document.querySelector('.result>p');
const scoreBoard_div=document.querySelector(“.scoreBoard”);
const rock_div=document.getElementById('r');
const paper_div=document.getElementById('p');
const scissors_div=document.getElementById('s');
函数getComputerChoice(){
常量选项=['r','p','s'];
const randomNumber=Math.flo