我不太清楚如何设计一个项目。这是我在计算机科学系的第一年。我还在学习很多关于Java的知识,比如继承、多态、抽象类、接口(interface)等等。我对这些讲座很好奇,我愿意学好它们。实际上,我在这些讲座中没有遗漏任何要点,而且我学得很好。但是没有人教我如何设计一个项目,我们应该在学校结束时设计一个像样的 Java 项目。
我和我的 3 位同学决定制作一款新游戏。它只用一个球来玩,球有两种颜色。还有两名球员的颜色与该球的颜色相同。当球处于一名球员的颜色时,该球员将能够移动球并尝试射入另一名球员的球门。这些是我们想法的基本逻辑,我们可以为这个游戏添加一些新的设施和选项。我们非常愿意实现这个项目。但是......虽然我们听课并从中学习,但我们真的很困惑如何一步一步地设计这个项目。我刚刚试图展示我们项目的逻辑。与此同时,我们仍在学习 GUI,但我们正处于 GUI 的起步阶段。所以我想了解我们必须遵循什么样的方式来设计和制作这种项目。我只想知道技巧和捷径,并充分利用我们关于类层次结构、抽象类、父类(super class)、覆盖等方面的知识(我们知道这些术语的一切,但不知道如何使用它们来设计项目).如果你能指出关于这些的一点信息,我会非常非常高兴并且能够改变我的观点。这将促进我们的进步。谢谢!
最佳答案
您可能想看看这个 Java Pong Game - 它非常简单,包括一些您可以研究的源代码。
更一般的建议:
- 您需要某种方式来显示游戏中发生的事情。在非常简单的游戏中显示屏幕的最简单方法可能是使用 JPanel 并覆盖它的 paintComponent() 方法以正确绘制游戏屏幕(例如,在正确的 x、y 位置绘制玩家)
- 您还需要一个游戏循环,它应该执行以下操作:
- 读取玩家的任何输入
- 更新游戏中物体的位置
- 在 JPanel 上调用 repaint() 以便重新绘制屏幕
- 使用例如等待很短的时间Thread.sleep(30) hibernate 30毫秒
- 循环回到游戏循环的开始
- 我建议将定义用户界面(框架、面板等)的类与定义游戏逻辑(玩家、球等)的类分开。理想情况下,游戏逻辑类不应包含任何与其显示方式或交互方式相关的代码。
对于这么简单的游戏,您实际上不需要很多类(class)。我会推荐这样的东西:
- App - 包含启动游戏的 main(...) 函数。它至少应该创建一个 JFrame 并在其中添加一个 GamePanel,但您可以根据需要创建其他 UI 元素。您也可以选择在此类中实现您的游戏循环 - 在这种情况下,主要方法应该在所有设置完成后调用它。
- GamePanel(扩展 JPanel)- 包含屏幕绘制逻辑,也可能检测鼠标移动
- Game - 代表整个游戏状态的类,包括玩家和球的位置
- Player - 代表玩家的小类,带有 x,y 坐标
- Ball - 表示球的小类,具有 x、y 坐标和 dx、dy 速度
关于java - 在java中设计一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509113/