这是我程序中的脚本。这是一个更高/更低的游戏。我的数组中有更多的元素,然后是那些3,但我不希望代码太长了,所以我的问题是:aantalPogingen
从5开始,每次他回答错误,这个将下降1,当他达到0时,我希望我的游戏停止,并给他一个通知,它是游戏结束。
var randomNummer = Math.floor((Math.random() * kaartenHart.length));
var punten = 0;
var aantalPogingen = 5;
var kaartenHart = ["img/heart1.png", "img/heart2.png", "img/heart3.jpg"];
function drawKaart() {
$('#afbeeldingKaart').attr('src', kaartenHart[randomNummer]);
}
function hogereKaart() {
var hoger = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
if (hoger >= randomNummer) {
punten++;
$("#score").html("SCORE : " + punten);
} else {
aantalPogingen--;
$("#pogingen").html("Number of wrong guesses left : " + aantalPogingen);
}
randomNummer = hoger;
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
}
function lagereKaart() {
var lager = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
if (lager <= randomNummer) {
punten++;
$("#score").html("SCORE : " + punten);
} else {
aantalPogingen--;
$("#pogingen").html("Number of wrong guesses left : " + aantalPogingen);
}
randomNummer = lager;
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
}
$(document).ready(drawKaart);
答案 0 :(得分:2)
这是我的两分钱......它没有经过测试,但你可以想到引入一些新功能来帮助你优化和管理代码;)
var randomNummer = Math.floor((Math.random() * kaartenHart.length));
var punten = 0;
var aantalPogingen = 5;
var kaartenHart = ["img/heart1.png","img/heart2.png", "img/heart3.jpg"];
function drawKaart() {
$('#afbeeldingKaart').attr('src', kaartenHart[randomNummer]);
}
function hogereKaart() {
if(isGameOver()){
alerGameOver();
} else {
var hoger = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
if (hoger >= randomNummer){
punten++;
$("#score").html("SCORE : " + punten);
}
else{
setRemainingTries(aantalPogingen--);
}
randomNummer = hoger;
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
}
}
function lagereKaart() {
if(isGameOver()){
alerGameOver();
} else {
var lager = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
if (lager <= randomNummer){
punten++;
$("#score").html("SCORE : " + punten);
}
else{
setRemainingTries(aantalPogingen--);
}
randomNummer = lager;
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
}
}
function alerGameOver(){
alert('Game Over');
}
function isGameOver(){
if(aantalPogingen == 0)
return true;
else
return false;
}
function setRemainingTries(newPoints){
if(isGameOver())
alertGameOver();
else {
aantalPogingen = newPoints;
$("#pogingen").html("Number of wrong guesses left : " + aantalPogingen);
}
}
$(document).ready(drawKaart);
答案 1 :(得分:1)
请你试试这个:
function hogereKaart() {
if(aantalPogingen > 0){ //if aantalPogingen is greater than 0 then only allow user to perform the operation
var hoger = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
if (hoger >= randomNummer){
punten++;
$("#score").html("SCORE : " + punten);
}
else{
aantalPogingen--;
if(aantalPogingen == 0) //checking it to 0
{
alert("Your game is over");
}
else{
$("#pogingen").html("Number of wrong guesses left : " + aantalPogingen);
}
}
randomNummer = hoger;
$('#afbeeldingKaart').attr('src', kaartenHart[hoger]);
}
}
function lagereKaart() {
if(aantalPogingen > 0){ //if aantalPogingen is greater than 0 then only allow user to perform the operation
var lager = Math.floor((Math.random() * kaartenHart.length));
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
if (lager <= randomNummer){
punten++;
$("#score").html("SCORE : " + punten);
}
else{
aantalPogingen--;
if(aantalPogingen == 0) //checking it to 0
{
alert("Your game is over");
}
else{
$("#pogingen").html("Number of wrong guesses left : " + aantalPogingen);
}
}
randomNummer = lager;
$('#afbeeldingKaart').attr('src', kaartenHart[lager]);
}
}
我已添加if
条件以检查aantalPogingen
的值为零。如果它大于0,则只在按钮click
上进行计算。否则按钮click
将不会改变任何内容。此外,如果aantalPogingen == 0
,我们会向最终用户显示alert
说他们的游戏结束了。希望这会帮助你。
答案 2 :(得分:1)
在hogereKaart()
和lagereKaart()
if(aantalPogingen ==0){
aler("game over");
return;
}
您可能还希望在aantalPogingen--
之前或之后在else块中执行相同的检查,具体取决于您希望何时停止。考虑将其变成一个函数以避免重复代码。