サンプルパズル

]

8パズル


続いてJavaScriptを用意します。以下のソースコードを先程用意したHTMLと同じフォルダに保存してください。ファイル名はpuzzle.jsとします。
let taslar = [“t0″,”t1″,”t2″,”t3″,”t4″,”t5″,”t6″,”t7″,”t8”]

function tasBul(val){

for (i = 0; i < taslar.length; i++) { if(document.getElementById(taslar[i]).firstChild.data == val){ return(taslar[i]) } } } function degisme(id, bosTasId){ let yakinlar = [] if([2,5,8].includes(parseInt(bosTasId[1]))){ yakinlar = [+3,-3,-1] }else if([0,3,6].includes(parseInt(bosTasId[1]))){ yakinlar = [+3,+1,-3] }else{ yakinlar = [+3,+1,-3,-1] } for(i = 0; i < taslar.length; i++){ if(parseInt(bosTasId[1])+parseInt(yakinlar[i]) == parseInt(id[1])){ return(true); } } return(false) } function pushed(id){ var btn = document.getElementById(id); if (btn.firstChild.data!=" "){ bosTasId = tasBul(" ") if(degisme(id, bosTasId) == false) return; document.getElementById(bosTasId).firstChild.data = btn.firstChild.data; btn.firstChild.data = " " } } function solvable(rndList){ var count = 0; for(i=0;irndList[j]){

count++;

}

}

}

if(count%2 == 0){

return(true);

}else{

return(false);

}

}

function randomTaslar(){

var rndList = []

while(true){

rndList = []

while(rndList.length < 9){ var randomnumber = Math.ceil(Math.random()*9)-1 if(rndList.indexOf(randomnumber) > -1) continue;

rndList[rndList.length] = randomnumber;

}

if(solvable(rndList)){

break;

}

}

for (i = 0; i < taslar.length; i++) { if(rndList[i] == 0){ val = " " }else{ val = rndList[i].toString() } document.getElementById(taslar[i]).firstChild.data = val } } ここまででゲームは動きますが、パズルのパネルの見た目を整えるためにCSSを入れます。以下のソースコードをコピーして、HTMLと同じフォルダに保存します。ファイル名はlayout.cssとします。 .tile { width:100px; height:100px; font-family:arial black; font-size: x-large; }