gpt4 book ai didi

javascript - 十五益智游戏

转载 作者:可可西里 更新时间:2023-11-01 13:47:38 24 4
gpt4 key购买 nike

我正在做一个十五的益智游戏,我希望你只能点击空框旁边的一个数字,但现在你可以点击任何地方......如何改变这个?我认为您可以为列和行创建一个 if- 语句。

<!DOCTYPE html>

<html>
<head>
<title>The Fifteen Puzzle Game</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>

$(document).ready(function(){

var currentBoard = new Array(' ','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15');



for(i=0 ; i++<100 ; x = Math.floor(Math.random()*16), y = Math.floor(Math.random()*16), currentBoard[x] = currentBoard.splice(y, 1, currentBoard[x])[0]);


repaint(); // Redraw puzzle board

//
// Funktion repaint()
// Redraw puzzle board
function repaint(){
currentString = "";
for(i=1;i<17;i++){
currentString += "<input type='button' id='" + i + "' value='" + currentBoard[i-1] + "' />";
if ( (i%4) == 0 ) currentString += "<br />";
}
$("#board").html(currentString);
}


function swapArrElems(index_a, index_b) {
var temp = currentBoard[index_a];
currentBoard[index_a] = currentBoard[index_b];
currentBoard[index_b] = temp;
}


$('#board').click(function(event){
current = $(event.target).attr("id")-1;

for(i=0;i<16;i++) if( currentBoard[i]==0 ) zeroIndex = i;
swapArrElems(current, zeroIndex);
repaint();

});


});

</script>

<style>
input[type="button"] { width: 80px; height: 80px; font-size: 30px; }
</style>
</head>

<body>

<div id="board">
</div>

</body>
</html>

最佳答案

根据我理解您的代码的方式,您有 16 个按钮,每行 4 行。每次单击按钮时,该按钮的数组值和空白按钮交换。你快到了。这里最重要的细节是按钮 ID,它始终保持不变。

需要在点击按钮的ID和空白按钮的ID之间添加一个比较,这需要一个条件。

我不会为您提供代码,因为我不想直接给出答案。我要给你逻辑:

在你的最后一个函数中,在 if( currentBoard[i]==0 ) zeroIndex = i; 之后

**Else if** the id(clicked button) == id(blank button)-1. OR id(blank button)+1. OR
id(blank button)-4. OR id(blank button)+4 ........

Swap the elements.

Else

don't swap the elements.

祝你好运!希望这会有所帮助。

关于javascript - 十五益智游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39934386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com