我正与我的开发人员讨论以下游戏设计.
我Move在Game课堂上有一个集合.我的开发人员队友要求我删除该集合,并且只有当前的移动信息.
你的建议是什么?
public class Game
{
public String Id { get; set; }
public String CreatorId { get; set; }
public List<Player> Players { get; set; }
public List<Move> Moves { get; set; }
}
public class Player
{
public String Id { get; set; }
public String Name { get; set; }
}
public class Move
{
public String Id { get; set; }
public String PlayerId { get; set; }
public String PlayerName { get; set; }
public String NextMoveId { get; set; }
public String NextPlayerId { get; set; }
public String Position { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我的开发人员队友建议我Move在Game课堂上只有一个对象.
我们任何人都无法为您的设计提供真正正确的方法.这不是一个干脆的情况; 没有"正确"或"错误"的答案.鉴于我们不了解游戏设计背后的所有细节,我们特别难以提出建议.例如,正如我在评论中提到的那样,其他几个答案已经暗示,如果您有"撤消"或"重播"功能,则需要存储所有动作的历史记录.如果没有,你有没有希望实现这样的功能,也没有必要存储有关的种种举动的信息.
这是您需要学习如何作为程序员做出的一种设计决策.考虑一种方法的所有可能的好处以及另一种方法的好处,然后确定哪种方法最适合您的应用.如果您觉得有用,请制作一个"T"图表.就像是:
Keeping List of All Moves | Storing Only Last Move
---------------------------------------|------------------------------------
- Allows you to implement Undo | - Simplifies your game's design
or Replay feature |
- Consumes more memory | - Saves memory by only storing the
| minimum amount of data
|
|
...etc.
最后,您(和您的同事)是最有能力做出此决定的人.确保您自己仔细比较优缺点是确保您做出正确方法的最佳方法.
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |