【问题标题】:How to store an object and its row/column position + have an index如何存储对象及其行/列位置+有索引
【发布时间】:2011-02-27 22:49:23
【问题描述】:

我正在制作太空侵略者游戏。每个入侵者都会在屏幕上存储其位置。这将形成一个漂亮的 5 行网格,每行 11 个入侵者。

入侵者 A、B 和 C 有 3 种类型。A 由 22 个入侵者组成,B 也有,C 11 个。因此,我无法单独使用它们的位置在屏幕上形成网格。因此,我为有多少行和列添加了变量,并且我可以使用嵌套的 for 循环来获得正确数量的入侵者类型。

现在,我有了某种算法的想法,可以让它们做某事,但为此我需要以某种方式存储它们。我的想法是使用Dictionary<int, Tuple<Point, Invader>>,其中 int 将是列表中的索引,Point 将用于存储行列,而 Invader 则用于入侵者。

在我使用列表存储入侵者之前,我可以使用 for 循环访问我需要对其执行操作的入侵者。像 invaders[i].DoSomething().

我希望仍然能够做到这一点,并且不仅拥有入侵者,还拥有它所占据的行列。

我有什么选择?

【问题讨论】:

    标签: c#-4.0


    【解决方案1】:

    为什么不向你的入侵者类添加行/列变量?

    【讨论】:

    • 因为……因为它似乎不属于入侵者类?您的意思是在入侵者本身中存储特定入侵者所在的行/列吗?就像它的位置一样?
    • 是的,我不确定你的入侵者类的外观等等,但如果我这样做,我可能会考虑在入侵者类本身中设置入侵者的位置。
    • 好吧,我已经将他们在屏幕上的位置存储在入侵者中了。我只是..我不知道,觉得他们的行/列位置也不应该存储在那里。更多的是它应该存储在存储入侵者的集合中。因此我的问题是如何做到这一点:-)
    • 他们的行号/列号有变化吗?
    猜你喜欢
    • 2023-03-05
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2021-05-09
    相关资源
    最近更新 更多