gpt4 book ai didi

JavaScript棋盘游戏: looking for optimization

转载 作者:行者123 更新时间:2023-11-28 09:16:15 27 4
gpt4 key购买 nike

我正在为 Android 开发 html/javascript 游戏。这是一款棋盘游戏,具有以下功能。它具有不同颜色的图 block ,用户可以在板上放置一个图 block (以编程方式选择)。如果我们得到 4 个或更多相同颜色/形状的图 block ,我们就会得分,并且这些图 block 将会消失。被移除的瓷砖上方的瓷砖将取代它们,并且新的瓷砖将被添加到空的地方。下图显示了它的工作原理(这只是一个示例,真实的板可以有不同的尺寸):

enter image description here

图 block 是<img>其 id 存储在数组中的元素,我用它来检查匹配和替换。

一切都运行得很好,但是一旦将新图 block 添加到棋盘上,我需要检查整个棋盘以检查新匹配是否可用。我在这里需要一些建议,因为检查整个董事会可能会非常缓慢。有什么方法可以有效地做到这一点吗?这是我想做的事情: enter image description here

鉴于前面的示例,我考虑仅检查红色区域中的元素,即仅已移动或添加的元素。如果图 block 垂直移动,它会很有效,因为我只需检查移动/添加的图 block ,它就会给我新的匹配项。但如果我水平移除瓷砖,可能会出现问题,因为如果这些瓷砖位于底部,我将不得不检查整个木板,并且我会遇到同样的问题。

如有任何意见或建议,我们将不胜感激。

注意:我没有添加任何代码,因为它只是检查给定图 block 的行和列并查找匹配项。但如果需要的话我可以提供。

编辑:在任何人反对之前,我想通知一下,我刚刚将这个问题添加到游戏开发部分,因为我在这里没有收到任何答案:)。

编辑:添加我的代码

function initializeBoard(){
//items is an array which contains tiles/images names
for(var i=0; i < totalItems; i++)
board[i+1] = Math.floor(Math.random() * (items.length - 1)) + 1;
for(var i=0; i < totalItems; i++)
{
if( !(i % numberShapesXAxis) )
document.write("<BR>");

document.write("<img src=\"images/"+ items[board[i+1]]+ ".gif\" style = \"border:0; height:"+ itemSize+ "px; width:"+ itemSize+ "px;\" name=\"t", i+1,"\" onclick = \"replaceAndCheck(", i+1, ")\"><\/a>");
}
}
//so basically board contains image ids.

最佳答案

当你移动一 block 石头时检查是否有新的匹配怎么样?因此,当石头 x 向下移动时,您将检查 X 的新位置是否创建匹配项。这样您就可以创建一种递归方法。

关于JavaScript棋盘游戏: looking for optimization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613911/

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