我接受了一项运动:控制国际象棋比赛。 没有人工智能,只是人与人之间的国际象棋游戏。
这是我正在开发的第一个完整的项目。
我有3个星期,在此期间我每天大约有2-4个小时。 我一个人在开发。
您如何建议我管理时间和发展流程?
谢谢, 诺尔
答案 0 :(得分:1)
我强烈建议您在开始之前写一些用例。
如果您是java编程的新手,我还建议您确保知道如何实现应用程序的每个部分。例如,弄清楚如何在屏幕上第一次画一块,在实际项目中不是一个好主意。
编写决定哪些动作是合法的算法等可能并非易事,但这并不是你会被困在的东西。但是,可以在Swing中使用自定义组件和用户交互。因此,请确保在开始之前知道如何解决这些问题。
答案 1 :(得分:1)
我建议TDD(测试驱动开发),它主张在编写代码之前编写测试。几年前我做了一个类似的项目,测试不止一次地保存了我的屁股。
这是一个迭代过程,主张采取小步骤并逐步构建最终应用程序。
1)首先编写一些问题子集的要求,例如移动。 2)制作一些测试用例,例如'单位应该能够移动三个街区'或'单位不能移动,当它是其他玩家转动'时。请记住要保持专注,这意味着不断更改相同的问题域,直到它起作用。
3)假装,直到你做到,即伪造测试返回真或假或其他一些传递值。 4)进行小的更改,看测试失败,然后正确实现给定的问题。 5)重复
主要协议是保持简单并采取一些小步骤。
至于代码的设计,请考虑FACADE模式,当然还有其他更为琐碎的模式,如State,Strategy和AbstractFactory。
答案 2 :(得分:1)
在深入研究细节之前,开发纸上逻辑并开始编写包含基本和核心功能的简单原型,而不是花哨的东西。然后,逐步开发,添加新功能。
答案 3 :(得分:1)
不要在这里浪费任何时间并开始起动!
答案 4 :(得分:0)
您项目的输出是什么。它是一款完整的游戏,可以处理所有情况,并将被世界各地的许多人使用。
我建议首先获得详细的要求,例如
完成这部分后,您必须能够获得有关需要完成的工作的充分信息,然后才能做出相应的计划。
为游戏编写核心逻辑可以随时完成,因为一旦其他要求明确,它就不需要进行太多更改。
答案 5 :(得分:0)
如果仅仅是你自己,请记下你想要做的一些高级目标,快速估算第一步然后再做的工作。到达那一点后重新评估,然后重复其余步骤。
你只有三个星期,你可能没有太多时间来建立整个项目管理结构。
答案 6 :(得分:0)
选择软件开发方法并尝试坚持主要原则。在你的情况下,我会看一下scrum,关注 solo scrum 。 Here is a guide但网上有更多的简短说明。您不必掌握该方法,但它的元素(积压,冲刺,燃尽)是有价值的。
in-step scrum edition是这种方法的一个非常好的工具。
并且不要忘记构建一个良好的软件开发环境(SDE),至少是一个好的Java IDE和一个版本控制系统(subversion,mercurial)。不要忘记实施一些测试(在项目结束时节省大量时间),我建议设置一个持续集成工具(hudson CI)。 (如果你使用scrum,你在项目中的第一个任务之一就是设置SDE)
答案 7 :(得分:0)
1-带上一支铅笔和一些文件,开始编写项目的大步骤并开始详细说明每一步(实际上每一步都会产生新的步骤),这样你就会以像所需算法结束的树一样结束。<登记/> 2-开始编码!