我用硬币编写了一个不和谐的机器人插槽命令,它可以工作,但是如果我运行该命令,有时什么也没发生。 (没有错误)
例如:您输入!slots 500 <-这些是硬币,您可以赢取更多
我试图找到问题,但没有发现任何东西 代码(执行命令时会发生)
if(!coins[message.author.id]) {
return message.channel.send("Du hast keine Coins!")
}
let amount = args[0];
if(!amount) return message.channel.send("Du musst Coins angeben!")
let mal2 = amount * 2
let mal3 = amount * 3
let mal4 = amount * 4
let mal5 = amount * 5
let lose = amount * 1.2
let ccoins = coins[message.author.id].coins
if(ccoins < amount) return message.channel.send("Du hast nicht so viele Coins!")
if(500 < amount) return message.channel.send("Du darfst nicht mehr als 500 Coins angeben!")
let resault = ["? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?", "? ? ?"]
let result = Math.floor((Math.random() * resault.length))
let result2 = Math.floor((Math.random() * resault.length))
let result3 = Math.floor((Math.random() * resault.length))
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: amount * 3 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal3} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: amount * 2 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal2} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: amount * 4 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal4} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === "? ? ?") {
coins[message.author.id] = {
coins: amount * 5 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal5} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️? ? ?⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
}```
答案 0 :(得分:0)
因此,假设result
变成0,那么resault[result]
就是? ? ?
您没有检查3个橙子/切片。因此它只会返回任何内容。也不会发送任何消息。
您还缺少其他几种组合的检查。因此,从事物的外观来看,有1/3的时间您一无所获。
也因为这段代码效率很低,所以我在这里有一个更好的赌徒版本:https://jsfiddle.net/FrustratedProgrammer/19dmwL86/