很长一段时间以来,我一直试图在Java中创建一个简单的"游戏",它实际上只是一个带有正方形和网格的小程序.我最终想做的是用户点击,方块将移动到用户点击的位置四舍五入到最近的网格方块.
问题是我是一个自学成才的初学者,我很难弄清楚如何实际构建程序,一些例子:
我应该有一个单独的课程来监听鼠标点击吗?
当我收到一个点击时,我应该将它发送到代表该框的其他对象并让它决定它想要做什么或只是调用一些使该框移动的功能?
我真的想学习所有这些"何时使用什么"的东西,所以任何链接或一般建议表示赞赏.
您真正要问的是如何开发游戏,这与典型的Java应用程序明显不同.但是,我会给你一些想法,至少指出你正确的方向.
利用Java是面向对象语言的事实.也就是说,每个对象都应该有自己的责任.
将您的游戏分为三个关键层:应用程序层,游戏逻辑层和表示层.
应用程序层应包含所有助手和通用子系统,如随机数生成器,文本解析器,文件访问模块,网格加载器等.
游戏逻辑层应该实现游戏的所有规则,并负责维护规范状态.基本上,当您按键盘上的"W"向前移动时,游戏逻辑层应该MOVE_FORWARD_REQUEST
从UI 接收.
表示层应该负责两件事:获取输入和渲染你的世界.当它获得输入时,如"W"键,它应该将其映射到动作,并将其发送到要处理的游戏逻辑层.然后,它应该基于游戏逻辑告诉它做的任何事情来渲染世界.
游戏开发显然是一个完整的领域,有许多专门的书籍.我最喜欢的一个是Game Coding Complete,它专注于C/C++,但应该让你对如何构建游戏有一个很好的了解.
祝好运!
良好软件开发的一个主要原则是单一责任原则.它声明一个函数或类应该只有一个责任.
这样,您的类和对象不应该变得太大和无法管理.