Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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制作rps游戏_Javascript_Html - Fatal编程技术网

用javascript制作rps游戏

用javascript制作rps游戏,javascript,html,Javascript,Html,我正在制作一个石头剪刀游戏,但我似乎无法让任何代码完全工作,我让一些东西工作,我在所有其他部分卡住了。有人能帮忙吗?我需要让“开始游戏”按钮在单击后淡出,并显示选项,以及ai的图片在循环中显示,包括rock/paper/scissors.png文件。我已经尝试了相当长的时间,但我似乎无法让它工作 const selectionButtons=document.querySelectorAll(“[data selection]”) 常量选择=[{ 名字:'岩石', 节拍:“剪刀” }, { 名

我正在制作一个石头剪刀游戏,但我似乎无法让任何代码完全工作,我让一些东西工作,我在所有其他部分卡住了。有人能帮忙吗?我需要让“开始游戏”按钮在单击后淡出,并显示选项,以及ai的图片在循环中显示,包括rock/paper/scissors.png文件。我已经尝试了相当长的时间,但我似乎无法让它工作

const selectionButtons=document.querySelectorAll(“[data selection]”)
常量选择=[{
名字:'岩石',
节拍:“剪刀”
},
{
名称:'纸张',
节拍:'摇滚',
},
{
名称:'剪刀',
节拍:“纸”,
}
]
函数startName(){
var x=document.getElementById('new-game-btn')
如果(x.style.display=='none'){
x、 style.display='block'
}否则{
x、 style.display='none'
}
}
selectionButtons.forEach(selectionButton=>{
selectionButton.addEventListener('click',e=>{
const selectionName=selectionButton.dataset.selection
const selection=SELECTIONS.find(selection=>selection.name===selectionName)
makeSelection(选择)
})
})
函数makeSelection(选择){
常量计算机选择=随机选择()
const yourWinner=isWinner(选择,计算机选择)
const computerWinner=isWinner(computerSelection,selection)
console.log(计算机选择)
}
功能isWinner(选择、对手选择){
返回selection.beats==opponentSelection.name
}
函数随机选择(){
const randomIndex=Math.floor(Math.random()*SELECTIONS.length)
返回选择[随机索引]
}

石头剪子布
石头剪子布
友好用户(0)
邪恶AI(0)
摇滚乐
纸张
剪刀
开始新游戏

您赢了,干得好

我们的天才ai赢了,它可能会统治世界。

是平局,请重试


const selection=SELECTIONS.find(selection=>selection.name===selectionName)
您已将
selection
大写。应该是
selection.name

未使用
startGame
功能。您需要添加
document.getElementById('new-game-btn')。addEventListener('click',startName)

向您展示如何使某些内容淡出。我在下面的代码片段中包含了一个如何实现这一点的示例。慢慢地更改不透明度,而不是立即将其更改为“不显示”。或者,您也可以通过CSS转换获得淡入淡出效果

要使图像在三个图像之间循环,请查看每x毫秒执行一次操作的函数

const selectionButtons=document.querySelectorAll(“[data selection]”)
常量选择=[{
名字:'岩石',
节拍:“剪刀”
},
{
名称:'纸张',
节拍:'摇滚',
},
{
名称:'剪刀',
节拍:“纸”,
}
]
函数startName(){
var x=document.getElementById('new-game-btn')
如果(x.style.display=='none'){
x、 style.display='block'
}否则{
x、 style.display='none'
}
}
功能衰减(id){
var fadeEffect=setInterval(函数(){
var s=document.getElementById(id).style;
如果(!s.opacity){
s、 不透明度=1;
}
如果(s.不透明度>0){
s、 不透明度-=0.1;
}否则{
清除间隔(fadeEffect);
}
}, 200);
};
document.getElementById('new-game-btn')。addEventListener('click',()=>fade('new-game-btn'))
selectionButtons.forEach(selectionButton=>{
selectionButton.addEventListener('click',e=>{
const selectionName=selectionButton.dataset.selection
const selection=SELECTIONS.find(selection=>selection.name===selectionName)
makeSelection(选择)
})
})
函数makeSelection(选择){
常量计算机选择=随机选择()
const yourWinner=isWinner(选择,计算机选择)
const computerWinner=isWinner(computerSelection,selection)
console.log(计算机选择)
}
功能isWinner(选择、对手选择){
返回selection.beats==opponentSelection.name
}
函数随机选择(){
const randomIndex=Math.floor(Math.random()*SELECTIONS.length)
返回选择[随机索引]
}

石头剪子布
石头剪子布
友好用户(0)
邪恶AI(0)
摇滚乐
纸张
剪刀
开始新游戏

您赢了,干得好

我们的天才ai赢了,它可能会统治世界。

是平局,请重试


Hi。欢迎来到堆栈溢出!你能编辑你的帖子,添加更多关于你已经尝试过的内容的信息吗?退房