php渐进式地图生成

问题描述:

你好,我一直在努力几天写一个脚本来生成使用PHP的渐进式地图。 我试图实现,但没有成功会是这样的: enter image description herephp渐进式地图生成

总之我对XY定义为5,6(作为一个例子),一个“节点”,然后随机添加一个随机数接近“节点”的“选手”。从这里我想将最接近的“播放器”连接到节点,同时有一个标准列表,它将确定“播放器”将连接到哪个节点(该节点有多少个连接,最大连接数等等) 。 我还没有写任何代码,因为我不知道从哪里开始,或者我应该开始什么,因为我不擅长数学,只用PHP很好。 安迪的想法或建议,欢迎任何帮助。

+0

您是否正在尝试生成类似于您所展示的图形或实际创建某种类型的路由机制,该机制的工作原理与该映像上描述的一样? – thwd

+0

不只是一个简单的游戏地图。蓝点是播放器,红点是一个“节点”,你可以想象一个带有节点的计算机网络,该节点可以为你提供互联网连接..或者与其他用户建立网络连接.. – Bogdan

+0

使用GDLib函数生成地图图形:http://php.net/manual/en/ref.image.php – thwd

好吧,我想你要创建的网络拓扑结构,具有互联网服务提供商为根。

所以,我想最好的方法是创建一个图。根是红点。比附属于它的玩家。比附加到已经附加的球员等等的球员。

是这样的:

  * 
     /| \ 
     O O O 
    /| | | 
     O O O O 

现在。图表的每个节点都可以有一些与之相关的信息: type:player |节点 coordX:5 coordY:6 等等

显示地图将只是意味着你可以在树与绘制它们的位置,你可以借鉴基础上的连接线的元素。

如果你的拓扑结构包含循环,那就是player1连接到与player3连接的player2,与player1连接的playern,比你需要一个图形结构。

如果我正确描述了你的问题,比你应该找到一些关于树/图算法的文章,如何解析它们等,并且应该能够完成你的工作。

+0

丹我会看看图阿尔戈的和任何有关的事情,然后我会回来的回复:-)。是的,这就是我正在寻找从红点连接玩家开始的红点(在视觉表示和xy地图上通过点接近某个点的选择)。 – Bogdan

我做了一个游戏板10×10与互动消色。

我使用数组来首先定义网格。下面创建一个包含100个对象插槽的阵列。

示例:游戏http://apps.facebook.com/AnotherGrid/只需登录即可播放并查看网格。该阵列动态地为我的游戏生成1000个网格。

<?php 
$lvl = array(
/* row0 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row1 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row2 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row3 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row4 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row5 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row6 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row7 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row8 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row9 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 
); 
?> 

然后我用:

foreach ($lvl as $key => $value) { 
echo '<div class="grid" id="'.$key.'"onclick="null">'.$value.'</div>'; 
} 

写网格,并用CSS来定义显示:内联块到每个格。

每个的定位是基于数组对象的位置。 < DIV ID =“0”>将是第一个平方高达99

<?php 
$lvl = array(
/* row0 */'black', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row1 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row2 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row3 */' ', ' ', ' ', ' ', 'yellow', ' ', ' ', ' ', ' ', ' ', 
/* row4 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row5 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row6 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row7 */' ', ' ', ' ', 'blue', ' ', ' ', ' ', 'green', ' ', ' ', 
/* row8 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 
/* row9 */' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' 
); 
?> 
+1

游戏看起来不错:-) – Bogdan