我正试图在游戏制造者中制作一个照明系统,并构建我想要在一个ds_map中包含所有灯光的系统。我希望将ds_map保存在包含系统中所有灯的第二个ds_map中。
lights {
"l-01": {"x":20, "y":40, "radius":15},
...
}
我所关心的问题是清理系统:我是否需要遍历地图,销毁所有的子地图,然后再销毁地图,那么,游戏制造者会在光图被销毁时自动销毁子地图吗?
ds_map_destroy(lights); // do the sub maps ("l-01") also get
我在做一个有点简单的游戏。目前正在尝试实现游戏逻辑,用于移动碎片。
逻辑是这样的:
does player have pieces in inventory?
if yes:
did they try to move it to an empty location
if yes: ...
if no: ...
if no:
...
如您所见,这是一堆嵌套的if- can语句。我的问题是,如何重构代码(或者甚至接近设计)以避免大量嵌套的if- one语句块。
我的游戏不是国际象棋,但如果你以国际象棋为
我正在使用Allegro/C++创建一个游戏。游戏差不多完成了,现在,我想创建一个地图编辑器。游戏包含许多类,它们的数量将根据地图所需的对象数量而有所不同。我正在考虑创建一个单独的结构来保存关卡数据并将其存储为地图。问题是大小会根据地图的不同而变化,我必须使用指针来适应对象的数量。存储和检索这些数据的最佳方式是什么?
我正在考虑的结构的一个例子-
struct Level
{
int soldierCount;
Soldier **soldier;
int taskCount;
int *taskPercentage;
int *task
我正在做一个战略游戏,我试着应用我学到的东西,试着使用不可变的数据。在我的游戏中我有单位,这些单位可以有不同的特殊功能。举个例子,有些飞机可以隐藏自己。我搜索的是一种方法,能够做一些
abstract class Units {
val life:Int
}
trait Hidable { self: Units =>
val hided:Boolean
def hide:Units with Hidable= ....
}
无需复制粘贴:
def hide = copy(hided=true)
在每个case类中都混入了Hidable。
我有一个算法,可以检查是否可以解决游戏行。游戏行是一个正整数数组,其中最后一个元素是0。游戏标记从索引0开始,并沿着数组移动它所在的整数所指示的步数。
例如,1,1,0返回true,而1,2,0返回false。标记也可以向左或向右移动,以解决游戏。也就是说,3,3,2,2,0是可解的。
Algorithm recursiveSolvable(gameArray, index)
if index = gameArray.length - 1 // the last element has been reached
return true
if in