Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 对我的设计v3的评论_Design Patterns_Architecture_Class Diagram - Fatal编程技术网

Design patterns 对我的设计v3的评论

Design patterns 对我的设计v3的评论,design-patterns,architecture,class-diagram,Design Patterns,Architecture,Class Diagram,嗯,在考虑了我在《太空入侵者》游戏类图的v1和v2上得到的所有有用的评论之后,我再次更新了我的类图以实现所有的更改 无需进一步讨论,我将介绍v3: 抽象Bullet类中的Move和Update方法什么也不做,这些方法的实现在继承自Bullet的具体类中。这些具体类中的每一个都将从IMovable接口继承Speed属性,并且每个类都有自己的速度集。整个抽象的子弹类及其具体的类派生是策略模式 我想问一些事情:飞船和入侵者类一次只能有一颗子弹,但是入侵者类也可以没有子弹。例如,当所有一排外星人都完好

嗯,在考虑了我在《太空入侵者》游戏类图的v1和v2上得到的所有有用的评论之后,我再次更新了我的类图以实现所有的更改

无需进一步讨论,我将介绍v3:

抽象Bullet类中的Move和Update方法什么也不做,这些方法的实现在继承自Bullet的具体类中。这些具体类中的每一个都将从IMovable接口继承Speed属性,并且每个类都有自己的速度集。整个抽象的子弹类及其具体的类派生是策略模式

我想问一些事情:飞船入侵者类一次只能有一颗子弹,但是入侵者类也可以没有子弹。例如,当所有一排外星人都完好无损时,只有第一排外星人可以发射子弹。他们上面的一排人不能射击。但是如何在入侵者类中实现这一点呢?不能射击的入侵者的入侵者类中的bullet变量是否应设置为空?还是有更好的选择


我希望我越来越接近得到正确的设计,欢迎您的意见

看起来整个设计可以折叠为以下抽象:

我不确定这是否足以解释你的游戏实现。Duke Nukem 3D也是一些精灵的集合,它们之间有某种构图关系。这是否意味着你的设计与Duke Nukem 3D相同?我个人觉得这个图表不够完整和清晰。“棋盘游戏”怎么样?它是如何与精灵互动的?物理引擎呢


给你留点思考的食物。祝你好运

看起来比v1:-)好多了。飞船和入侵者只有一颗子弹吗?谢谢!:-)是的,飞船和每个入侵者只有一颗子弹,尽管屏幕上随时可能有四颗子弹——三颗来自不同的外星人,一颗来自飞船。游戏板现在是Game1类,我仍然在决定(并阅读)是否使用游戏组件。物理引擎。。哇:-)我想这对这个项目来说可能有点太多了。我看到你让抽象精灵从IMovable接口继承-但这让我想到了一个问题,可能是希望一些精灵不移动。我也很好奇,当精灵由自己组成时,它意味着什么(如何,为什么?)。也许,在某种程度上是的,当我想到子弹类的时候,我(现在)认为应该包含在飞船和入侵者类中。