<分区>
我正在用 C# 制作一个多层次的游戏,我正在尝试制作一个 CreateLevel(int i)
函数。这是现在的样子:
void CreateLevel(int i)
{
switch(i) {
case 1: ...
case 2: ...
...
case 300: ...
}
}
所以这个函数在CreatingLevel(n);
时是O(n)的,因为它必须遍历所有n个级别才能找到Level n
。有没有办法使这个 O(1) ?我确信必须有比这更好的方法,但我想不出。
编辑 显然 switch
方法实际上是 O(1) 根据评论,它不是 O(n)。为了这个问题,我将保留我的帖子的原始格式。
此外,每个级别都是一组在不同位置具有不同颜色的砖 block ,这些砖 block 形成图像形状(如雨伞或树),我将这些信息编码为字符数组,如下所示:
[ r, r, r, g, ' ', b, b]
[ g, g, b, ' ', g, b, b]
[ r, b, b, ' ', b, b, b]
然后我解析这个数组以创建游戏对象,最后用当前级别的信息填充列表以在当前级别的持续时间内使用它。