我在这里有一点逻辑问题。
正如标题所说,我试图建立一个电脑游戏作为一个计算机程序(可能有互联网支持,但这是另一个故事)
至于现在,我有一张地图,其中有一些十字路口,因此我不能简单地将字段定义为“1,2,3,4 ......”,因为如果在第10场有一个十字路口,我将有多个字段必须标记为11(因为那时字段10的左侧和右侧有一个字段。)
所以问题是,如果我不能用数字来定义棋盘那么我就不能简单地得到一个玩家在计算'Field-Nr时掷出2d6-dices时可以采取的位置。 + RandomRange(1,6)+ RandomRange(1,6)'
有没有人有想法,如何以另一种方式定义这样的地图,我仍然可以用2d6-dice-roll计算玩家X的可能新字段?
提前致谢。
答案 0 :(得分:2)
如果我理解得很好......(我不这么认为)这可能会对你有所帮助。只需在boardgame字段中使用动态数组,并在尺寸x,y后更改动作....看看这个“类型Name =数组{array of ...}基类型; //动态数组”
答案 1 :(得分:1)
听起来你有一个连接顶点的图形。当玩家处于N个边缘的特定顶点时,假设N <1。 12,将从遍历边数N%(rand(6)+ rand(6))到达新的Field。
你也可以做rand(12),但与2d6不同,它会有均匀分布。
答案 2 :(得分:0)
相反动态数组,我建议使用记录的链接列表来描述周围的单元格,并遍历玩家的位置以及使用该链表的可能移动。
首先,定义一个描述棋盘可播放网格中每个单元格的记录(网格上的单元格可以像棋盘那样是四边形,或者像文明V中那样是六边形的)...每个单元格记录应包含诸如坐标,哪个玩家也在那个单元格中,任何可能影响游戏玩法的奖励/危险/等等(你明白了)。
最后,链接列表连接这些单元格的所有,有效地指向任何连接的单元格。这样,您需要的只是玩家X的单元格位置,并计算可能的移动超过 n 单元格数量(由骰子滚动确定),遍历相邻的单元格(没有危险) ,例如)。
如果你想要的只是跟踪可能的道路,你也可以使用这种方法来识别玩家X可以继续前进的可能路径(而不是单元格)。