房天下 > 房天下问答 > 业主生活 > 其他
  • java五子棋程序构想(请帮修改下)(来自成都左右小区)

    请帮修改下,只要设计构想,不要程序代码1、设计一个m*n的棋盘,并设定下起的范围不能超过m*n。 if(棋子超出m*n) return(则这里不能走棋,直接返回)2.设计黑白棋子,单数点击显示黑色棋子,双数点击显示白色棋子。 if(选择白色棋子先还是黑色棋子先) 黑色棋子先,下一步就是白子下 else(否则) 白色棋子先,下一步就是黑子下同时还要判断下过的地方不能在下棋子if(如果这个地方有棋子)return(走棋无效,返回重下)3.判断附近的棋子,例如第一个其实是第i行j列。那么它附近最多会有8个棋子,最少则有3个棋子(在棋盘的4角)分别为:上下左右,左上左下,右上右下4.判断相同颜色的去棋子(这个怎么判断?)5.再判断是否在一排上并且够5个for(int i=1;i=5;i++)5.以上条件都通过的,提示获胜

    提问者:dgh770913

    发布于2011-02-09

共1个回答
  • 别离刀 丨Lv 0
    之前跟楼主讨论过这个设计思路的问题,不过貌似楼主还是不太明白。对于楼主写的东西不能叫设计思路,仅仅是部分细节的半伪代码而已。一个设计思路最起码需要体现程序整体的想法,大致执行过程。而且建议不要写成1.2.3...的样子,会给人感觉是在做结构化程序设计而不是面向对象的程序设计。上面的1,2两点可以合并成一点就是棋盘表示方面,写出跟棋盘棋子相关的数据结构并注释分别起什么作用就行了,至于原来的那些太显而易见的“if(棋子超出m*n)”之类就不要写了。剩下的3~6则是胜负检测,甚至可以只要写这么四个字就可以概括了,其他都可以不写。如果楼主是学生在做project就推荐从数据结构、算法和界面来讲;或者也可以具体问题具体分析,参考棋类博弈方面的书籍所写的方式。个人比较推荐前者,楼主的1~6点建议写成这样的形式就可以了:棋盘表示方面:棋盘用二维数组存放,棋子颜色用boolean变量存等等界面方面:怎么画棋盘怎么画棋子、响应哪些事件、在每个事件中应该做些什么等等在响应事件的时候就会写到该做什么事怎么做(比如楼主写的走棋和胜负检测只是鼠标左键单击事件中的一部分而已),这里怎么做就是所谓的“算法”(因为这类小程序几乎不会有什么算法可言)楼主有我的QQ,如果还有问题还是QQ吧
    +1 2011-02-10 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。