java - 在java中设计一个项目

标签 java project

我不太清楚如何设计一个项目。这是我在计算机科学系的第一年。我还在学习很多关于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/

相关文章:

java - 在没有 toArray 的情况下提高 JNA 性能

java - 提取特征HOG描述符

c++ - 当所有源代码都没有更改时,代码块如何从查找头文件变为无法找到它们?

c# - 创建新的 C# 文件时命名空间错误?

android - 访问和读取 Android 项目中的文件

java - 从Spring MVC拦截器访问Controller的方法参数值

java - 将 TreeMap 中的列值映射为键,以行号作为值

java - 时区中的 Style 参数

android - 为什么我不能将现有项目导入 Eclipse?

java - 对于参数类型 [][]array、double,运算符 * 未定义