Hallo!,
ik bezig met een memory-game en zit nu (weer) een beetje vast.
zit met het volgende probleem:
De kaarten moeten worden geschud als er een nieuw spel gestart wordt.
Nadat de kaarten in een loop weer omgedraaid zijn wordt de functie schudden (in functie nieuwSpel) aangeroepen.
Deze wordt echter nooit bereikt.
Geen idee hoe dit kan. Graag hulp!.
ik bezig met een memory-game en zit nu (weer) een beetje vast.
zit met het volgende probleem:
De kaarten moeten worden geschud als er een nieuw spel gestart wordt.
Nadat de kaarten in een loop weer omgedraaid zijn wordt de functie schudden (in functie nieuwSpel) aangeroepen.
Deze wordt echter nooit bereikt.
Geen idee hoe dit kan. Graag hulp!.
Code:
<html>
<head>
<script>
//! nummers voor de kaartjes
var omgedraaideKaartjes=0;
var aantalBeurten=0;
//var cards = new Array(0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8);
var cards = new Array(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8);
var idArray = new Array(2);
var aantalTerugGedraaid=0;
var score=0;
var scoretitel="UW HIGHSCORE";
var scoretekst="Spelen maar!";
var speltekst="Klik hier voor nieuw spel"
var matchArray= new Array();
var x=0;
//! kaarten array schudden
//cards.sort(schudden)
function plaatsTekst(){
deScore=document.getElementById (16);
deScore.innerHTML= ' ' + scoretitel;
deScore=document.getElementById(18);
deScore.innerHTML= ' ' + speltekst;
if (document.cookie.length>0){
cookieAlles=document.cookie ;
cookieScorepositie=cookieAlles.indexOf("Highscore");
cookieScorepositie=cookieScorepositie+10;
cookielengte=document.cookie.length
cookieScore=cookieAlles.substr(cookieScorepositie,cookielengte);
deScore=document.getElementById(17);
deScore.innerHTML= ' ' + cookieScore;
}
else{
deScore=document.getElementById(17);
deScore.innerHTML= ' ' + scoretekst;
}
}
function NieuwSpel(){
//Terugzetten van variabelen
omgedraaideKaartjes=0;
aantalBeurten=0;
var idArray = new Array(2);
aantalTerugGedraaid=0;
x=0;
score=0;
//omdraaien van alle omgedraaide kaartjes/matches
//deze zijn opgeslagen in matcharray
aantalOmtedraaienKaartjes=matchArray.length;
alert(aantalOmtedraaienKaartjes);
//loop door alle matches en verwijder het nummer
for (loop=0; loop<=aantalOmtedraaienKaartjes; loop++){
hetOmtedraaienKaartje=document.getElementById(matchArray[loop]);
hetOmtedraaienKaartje.innerHTML="";
}
cards.sort(schudden);
}
function schudden(){
//Leeghalen array met matches & schudden van de kaartjes
alert("schudden");
var matchArray= new Array();
return (Math.round(Math.random())-0.6);
}
function Omdraaien(id) {
omgedraaideKaartjes++
if(omgedraaideKaartjes<=2){
getalKaartje=cards[id];
hetKaartje=document.getElementById(id);
hetKaartje.innerHTML= ' ' + getalKaartje;
if (omgedraaideKaartjes==1){
idArray[0]=id;
getalKaartje1=getalKaartje;
}
if (omgedraaideKaartjes==2){
idArray[1]=id;
getalKaartje2=getalKaartje;
Memory(getalKaartje1,getalKaartje2);
}
}
}
function Memory(getalKaartje1,getalKaartje2){
aantalBeurten++
if (getalKaartje1!= getalKaartje2){
var tijdjeWachten=setTimeout("Terugdraaien()",1500)
}
else {
Match(aantalBeurten);
}
}
//terug draaien van de kaartjes, terugzetten van de variable omgedraaide kaartjes
function Terugdraaien(){
for (loop=0; loop<=1; loop++){
hetOmtedraaienKaartje= document.getElementById(idArray[loop]);
hetOmtedraaienKaartje.innerHTML="";
}
omgedraaideKaartjes=0;
}
function Match(aantalBeurten){
score++;
//bij score = 8 zijn alle kaartjes omgedraaid
if (score==8){
//kijken in de cookie of deze beter is dan de highscore
//aantalBeurten
if (document.cookie.length>0){
cookieAlles=document.cookie;
cookieScorepositie=cookieAlles.indexOf("Highscore");
cookieScorepositie=cookieScorepositie+10;
cookielengte=document.cookie.length
cookieScore=cookieAlles.substr(cookieScorepositie,cookielengte);
if (cookieScore>aantalBeurten){
alert("Gefeliciteerd, U heeft een nieuw record gezet!")
document.cookie="Highscore" + "="+ aantalBeurten;
deScore=document.getElementById(17);
deScore.innerHTML= ' ' + aantalBeurten;
}
}
if (document.cookie.length==0 ){
document.cookie="Highscore" + "="+ aantalBeurten;
deScore=document.getElementById(17);
deScore.innerHTML= ' ' + aantalBeurten;
}
//laatste match nog opslaan in matchArtray
//dan nieuw spel beginnen
matchArray[x++]=idArray[0];
matchArray[x++]=idArray[1];
alert(score);
alert("start nieuw spel");
NieuwSpel();
}
else{
//kaarten doen niet meer mee in het spel
matchArray[x++]=idArray[0];
matchArray[x++]=idArray[1];
omgedraaideKaartjes=0;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<style>
.kaartje {
cursor: pointer;
background-color: #096;
color: #fff;
font: bold 32px/50px 'Verdana';
position: absolute;
width: 50px;
height: 50px;
}
.highscore {
cursor:default;
background-color: #096;
color:#FFFFFF;
border-color:#000000;
font: bold 15px/50px 'Verdana';
position: absolute;
width: 200px;
height: 50px;
}
.button {
cursor:pointer;
background-color: #096;
color:#FFFFFF;
border-color:#000000;
font: bold 15px/50px 'Verdana';
position: absolute;
width: 230px;
height: 50px;
}
</style>
</head>
<body onLoad="plaatsTekst()","schudden()">
<!--<body onLoad="checkCookie()">!-->
<div id="0" style="left:20px;top:20px;" class="kaartje" onclick=Omdraaien("0")></div>
<div id="1" style="left:80px;top:20px;" class="kaartje" onclick=Omdraaien("1")></div>
<div id="2" style="left:140px;top:20px;" class="kaartje" onclick=Omdraaien("2")></div>
<div id="3" style="left:200px;top:20px;" class="kaartje" onclick=Omdraaien("3")></div>
<div id="4" style="left:20px;top:80px;" class="kaartje" onclick=Omdraaien("4")></div>
<div id="5" style="left:80px;top:80px" class="kaartje" onclick=Omdraaien("5")></div>
<div id="6" style="left:140px;top:80px" class="kaartje" onclick=Omdraaien("6")></div>
<div id="7" style="left:200px;top:80px" class="kaartje" onclick=Omdraaien("7")></div>
<div id="8" style="left:20px;top:140px" class="kaartje" onclick=Omdraaien("8")></div>
<div id="9" style="left:80px;top:140px" class="kaartje" onclick=Omdraaien("9")></div>
<div id="10" style="left:140px;top:140px" class="kaartje" onclick=Omdraaien("10")></div>
<div id="11" style="left:200px;top:140px" class="kaartje" onclick=Omdraaien("11")></div>
<div id="12" style="left:20px;top:200px" class="kaartje" onclick=Omdraaien("12")></div>
<div id="13" style="left:80px;top:200px" class="kaartje" onclick=Omdraaien("13")></div>
<div id="14" style="left:140px;top:200px" class="kaartje" onclick=Omdraaien("14")></div>
<div id="15" style="left:200px;top:200px" class="kaartje" onclick=Omdraaien("15")></div>
<div id="16" title="Titel" style="left:300px;top:90px" class="highscore"></div>
<div id="17" title="Highscore" style="left:300px;top:140px" class="highscore"></div>
<div id="18" title="Button" style="left:20px;top:270px" class="button" onclick=NieuwSpel()> </div>
</body>
</html>