我收到了一个练习:控制一盘棋。没有人工智能,只是一个人类对人类的国际象棋游戏。
这是我正在开发的第一个成熟的项目。
我有3周的时间,在这期间,我每天大约有2-4个小时。我一个人在开发。
你建议我如何管理开发的时间和流程?
谢谢,护士
发布于 2010-08-27 18:27:58
在深入研究细节之前,先在纸上开发逻辑,并开始编写一个简单的原型,其中包括基本和核心功能,没有花哨的东西。然后,逐步开发,添加新功能。
发布于 2010-08-27 17:18:52
我强烈建议您在开始之前编写一些用例。
如果您是java编程的新手,我进一步建议您确保知道如何实现应用程序的每个部分。例如,在实际项目中,弄清楚如何在屏幕上第一次绘制一件作品并不是一个好主意。
编写算法来决定哪些移动是合法的,等等可能不是微不足道的,但这不是你会卡住的东西。不过,在Swing中使用自定义组件和用户交互可能是可行的。因此,在开始之前,请确保您知道如何解决这些问题。
发布于 2010-08-27 18:21:45
我推荐TDD (Test Driven Development,测试驱动开发),它提倡在编写代码之前先编写测试。几年前我做过一个类似的项目,这次测试不止一次救了我的命。
它是一个迭代的过程,提倡小步并逐步构建最终的应用程序。
1)从写一些问题子集的需求开始,比如移动。2)制作一些测试用例,例如“单位应该能够移动三个区块”或“当其他玩家转向时,单位不应该能够移动”。记住要保持专注,这意味着不断改变相同的问题域,直到它起作用。
3)伪造它,直到你成功,即伪造测试以返回true或false或其他传递值。4)做一个小的改变,看到测试失败,然后正确地实现给定的问题。5)重复
主要的处理是保持简单,并采取小步骤。
至于代码的设计,请考虑外观模式,当然还有其他更琐碎的模式,如状态、策略和AbstractFactory。
https://stackoverflow.com/questions/3582757
复制相似问题