Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的摇滚纸牌游戏运行不正常_Javascript_Html_Css - Fatal编程技术网

Javascript 为什么我的摇滚纸牌游戏运行不正常

Javascript 为什么我的摇滚纸牌游戏运行不正常,javascript,html,css,Javascript,Html,Css,我正在学习前端,这个石头纸牌游戏的项目正在扼杀我,我没有得到任何错误,逻辑对我来说似乎是正确的,但我没有得到任何输出。我想我的按钮是错的,也许我是错的,但我真的不知道。如果有人能帮我,我真的很感激。我已经在这个问题上纠缠了好几个小时了 <script> const score=document.querySelector("score"); const buttons=document.querySelectorAll("buttons");

我正在学习前端,这个石头纸牌游戏的项目正在扼杀我,我没有得到任何错误,逻辑对我来说似乎是正确的,但我没有得到任何输出。我想我的按钮是错的,也许我是错的,但我真的不知道。如果有人能帮我,我真的很感激。我已经在这个问题上纠缠了好几个小时了

<script>

const score=document.querySelector("score");
const buttons=document.querySelectorAll("buttons");
const computer=document.querySelector("computer");
const player=document.querySelector("player");
const rock=document.getElementById("rock");
const paper=document.getElementById("paper");
const scisscors=document.getElementById("scisscors");


function computerplayer(){
    let computer=Math.floor(Math.random() * 3);
    let random=['rock',"paper",'sisscors']
    if(computer>3){
        return 'rock'
    }
    if(computer<2){
        return 'paper'
    }

    else{
        return 'sisscors'
    }
}

function game(choice,computer){
    if(choice=='rock'&& computer=='sisscors'){      
        pscore++
        score();
        console.log( 'u win');
    }

    if(choice== 'rock'&& computer==="rock"){
        console.log("it be a tie")
    }
    if(choice=="rock"&& computer=="paper"){
        cscore++
        score();
        console.log("u lose");
    }

    if(choice== 'sisscors'&& computer=='rock'){
        console.log( "u lost")
        cscore++
        score();
    }
    if(choice=='sisscors'&& computer=='paper'){
        console.log('you win')
        pscore++
        score();
    }
    if(choice=='paper'&& computer=='rock'){
        console.log("you win")
        pscore++
        score();
    }
    if(choice=='paper'&& computer=='sisscors'){
        console.log("lost")
        cscore++
        score();
    }
}

function score(){
    if(pscore==3){
        console.log("end game win")
    }
    if(cscore==3){
        console.log("end game loser")
    }
}

buttons.addEventListener('click', function(){
    game('rock')
})
buttons.addEventListener('click', function(){
    game('paper')
})
buttons.addEventListener('click', function(){
    game('sisscors')
})
 
</script>

常量分数=document.querySelector(“分数”);
const buttons=document.queryselectoral(“按钮”);
const computer=document.querySelector(“计算机”);
常量播放器=document.querySelector(“播放器”);
const rock=document.getElementById(“rock”);
const paper=document.getElementById(“纸张”);
const scisscors=document.getElementById(“scisscors”);
函数computerplayer(){
让计算机=Math.floor(Math.random()*3);
让random=['rock','paper','sisscors']
如果(计算机>3){
返回“摇滚乐”
}

如果(计算机首先,此代码不会返回3或更大的数字

let computer = Math.floor(Math.random() * 3);
然后computerplayer()将只返回'paper'和'sisscors',您应该更改computerplayer()函数

接下来,您应该将按钮事件列表更改为:

rock.addEventListener('click', function () {
    game('rock', computerplayer())

})
paper.addEventListener('click', function () {
    game('paper', computerplayer())
})
rock.addEventListener('click', function () {
    game('sisscors', computerplayer())
})

由于您需要更改更多内容,因此我在这里提到了完整的代码:

<script>
    window.addEventListener('load', () => {
        let pscore = 0;
        let cscore = 0;

        const result = document.querySelector(".result");
        const player = document.querySelector(".pscore");
        const computer = document.querySelector(".cscore");

        const rock = document.getElementById("rock");
        const paper = document.getElementById("paper");
        const scissors = document.getElementById("scissors");

        rock.addEventListener('click', function () {
            game('rock', computerplayer())
        })
        paper.addEventListener('click', function () {
            game('paper', computerplayer())
        })
        scissors.addEventListener('click', function () {
            game('scissors', computerplayer())
        })


        function computerplayer() {
            let random = Math.floor(Math.random() * 3);
            if (random == 0)
                return 'rock'
            else if (random == 1)
                return 'paper'
            else if (random == 2)
                return 'scissors'
        }

        function game(choice, computerAction) {
            if (choice == 'rock' && computerAction == 'scissors') {
                pscore++
                score();
                console.log('u win');
            } else if (choice == 'rock' && computerAction === "rock") {
                console.log("it be a tie")
            } else if (choice == "rock" && computerAction == "paper") {
                cscore++
                score();
                console.log("u lose");
            } else if (choice == 'scissors' && computerAction == 'rock') {
                console.log("u lost")
                cscore++
                score();
            } else if (choice == 'scissors' && computerAction == 'paper') {
                console.log('you win')
                pscore++
                score();
            } else if (choice == 'scissors' && computerAction === "scissors") {
                console.log("it be a tie")
            } else if (choice == 'paper' && computerAction == 'rock') {
                console.log("you win")
                pscore++
                score();
            } else if (choice == 'paper' && computerAction == 'scissors') {
                console.log("lost")
                cscore++
                score();
            } else if (choice == 'paper' && computerAction === "paper") {
                console.log("it be a tie")
            }

            function score() {
                console.log(pscore, cscore)
                player.innerHTML = pscore;
                computer.innerHTML = cscore;

                if (pscore == 3) {
                    console.log("end game win")
                    result.innerHTML = 'You won.';
                } else if (cscore == 3) {
                    console.log("end game loser")
                    result.innerHTML = 'Computer won.';
                }

                if (pscore == 3 || cscore == 3) {
                    rock.style.display = 'none';
                    paper.style.display = 'none';
                    scissors.style.display = 'none';
                }
            }
        }
    });
</script>

window.addEventListener('load',()=>{
设pscore=0;
设cscore=0;
const result=document.querySelector(“.result”);
常量player=document.querySelector(“.pscore”);
常量计算机=document.querySelector(“.cscore”);
const rock=document.getElementById(“rock”);
const paper=document.getElementById(“纸张”);
常量剪刀=document.getElementById(“剪刀”);
rock.addEventListener('click',函数(){
游戏(“摇滚乐”,computerplayer())
})
paper.addEventListener('click',函数(){
游戏('paper',computerplayer())
})
scissors.addEventListener('click',函数(){
游戏('剪刀',computerplayer())
})
函数computerplayer(){
让random=Math.floor(Math.random()*3);
如果(随机==0)
返回“摇滚乐”
else if(随机==1)
返回“文件”
else if(随机==2)
返回“剪刀”
}
功能游戏(选择、计算机操作){
如果(选项=='rock'&&computerAction=='scissors'){
pscore++
分数();
console.log('u win');
}否则如果(选项=='rock'&&computerAction==='rock”){
console.log(“可能是平局”)
}else if(选项==“岩石”和计算机操作==“纸张”){
cscore++
分数();
控制台日志(“u丢失”);
}否则,如果(选项==‘剪刀’&&computerAction==‘石头’){
控制台日志(“u丢失”)
cscore++
分数();
}else if(选项==‘剪刀’&&computerAction==‘纸’){
console.log('youwin')
pscore++
分数();
}else if(选项==‘剪刀’&&computerAction==‘剪刀’){
console.log(“可能是平局”)
}否则,如果(选项=='paper'和&computerAction=='rock'){
log(“你赢了”)
pscore++
分数();
}else if(选项=='paper'和&computerAction=='剪刀'){
控制台日志(“丢失”)
cscore++
分数();
}else if(选项==‘纸张’&&computerAction==‘纸张’){
console.log(“可能是平局”)
}
功能评分(){
console.log(pscore、cscore)
player.innerHTML=pscore;
computer.innerHTML=cscore;
如果(pscore==3){
console.log(“游戏结束胜利”)
result.innerHTML='您赢了';
}else if(cscore==3){
console.log(“游戏结束输家”)
result.innerHTML='计算机获胜';
}
如果(pscore==3 | | cscore==3){
rock.style.display='none';
paper.style.display='none';
scissors.style.display='none';
}
}
}
});

计算机:

玩家:


有趣的事实:剪刀的拼写是“剪刀”,而不是querySelector和querySelector的“sisscors”或“scisscors”。你错过了。或#?
<body>
    Computer:<span class="cscore"></span>
    <br />
    Player: <span class="pscore"></span><br />
    <br />
    <input type="button" id="rock" value="Rock" />
    <input type="button" id="paper" value="Paper" />
    <input type="button" id="scissors" value="scissors" />
    <span class="result"></span>
</body>