我目前有一个1600 x 1600的地图存储在MySQL(2,560,000条记录)中。我正在渲染一个简单的25x25地图给用户进行交互。用户可以在此地图上“声明”图块。我希望能够计算给定用户拥有的瓷砖的开放面数。我可以将其划分为所有瓷砖以确定任意有效性评级。PHP像素映射组效率
所有地图坐标都存储为X/Y值。
我正在寻找可以处理所述X/Y值数组并确定每个拥有组可以访问多少个开放面的东西。例如...
0 = player
x x x x x
x x 0 x x
x x x x x
4 open faces
x x x x x
x x 0 x x
x x 0 x x
x x x x x
6 open faces
x x x x x
x x x 0 x
x x 0 x x
x x x x x
8 open faces
现在我正在做一些低效率的数组循环计算出来。我有一个简单的计数器,然后我循环遍历所有值的数组,并在X和Y的每个方向上查找值+ -1以减少计数。每个循环根据查找次数将0-4加到总计数器中。这种方法固有的问题是,随着一个群体的增长,计算出来需要的时间越来越长。由于一个团队有可能再消费20000点,这是一个很大的负担。
任何帮助,非常感谢。
我本来期望你的第三个例子是6个再次开放面,因为那些面孔2“共享” –
这是什么使这一个独特的问题。这与你通常想象的不同。 – GameCharmer