JAVA五子棋程序代码分析(3)
public boolean Game_win_1(int x,int y) //判断输赢 横{int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ){ if (x1>15) { break;} if (intGame_Body[x1+i][y1]==intGame_Bo... 展开
public boolean Game_win_1(int x,int y) //判断输赢 横{int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ){ if (x1>15) { break;} if (intGame_Body[x1+i][y1]==intGame_Body[x][y]) { t+=1;} else { break;}}for (int i=1;i<5 ;i++ ){ if (x1<1) { break;} if(intGame_Body[x1-i][y1]==intGame_Body[x][y]) { t+=1;} else { break;}}if (t>4){ return true;}else{ return false;}}public boolean Game_win_2(int x,int y) //判断输赢 竖{int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ){ if (x1>15) { break;} if (intGame_Body[x1][y1+i]==intGame_Body[x][y]) { t+=1;} else { break;}}for (int i=1;i<5 ;i++ ){ if (x1<1) { break;} if(intGame_Body[x1][y1-i]==intGame_Body[x][y]) { t+=1;} else { break;}}if (t>4){ return true;}else{ return false;}}public boolean Game_win_3(int x,int y) //判断输赢 左斜{int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ){ if (x1>15) { break;} if (intGame_Body[x1+i][y1-i]==intGame_Body[x][y]) { t+=1;} else { break;}}for (int i=1;i<5 ;i++ ){ if (x1<1) { break;} if(intGame_Body[x1-i][y1+i]==intGame_Body[x][y]) { t+=1;} else { break;}}if (t>4){ return true;}else{ return false;}}public boolean Game_win_4(int x,int y) //判断输赢 左斜{int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ){ if (x1>15) { break;} if (intGame_Body[x1+i][y1+i]==intGame_Body[x][y]) { t+=1;} else { break;}}for (int i=1;i<5 ;i++ ){ if (x1<1) { break;} if(intGame_Body[x1-i][y1-i]==intGame_Body[x][y]) { t+=1;} else { break;}}if (t>4){ return true;}else{ return false;}}}请解释的详细点。(1)(2)(3)都解答完整的,我会把所有的积分都打过去,外加100积分 收起
其他答案
这一段的代码基本上是重复的,只是稍微有些不用而已。原来的代码中有些错误已经顺便纠正了下。楼主还有什么问题的话+Q 406937523吧~一般晚上我都在,隐身~public boolean Game_win_1(int x,int y) //判断输赢 横 { int x1,y1,t=1;//t是跟当前x,y坐标处的棋子相连的相同颜色棋子个数x1=x;//赋初值,x,y坐标,实际上这两个变量很没有 展开
这一段的代码基本上是重复的,只是稍微有些不用而已。原来的代码中有些错误已经顺便纠正了下。楼主还有什么问题的话+Q 406937523吧~一般晚上我都在,隐身~public boolean Game_win_1(int x,int y) //判断输赢 横 { int x1,y1,t=1;//t是跟当前x,y坐标处的棋子相连的相同颜色棋子个数x1=x;//赋初值,x,y坐标,实际上这两个变量很没有存在的必要y1=y;for (int i=1;i<5 ;i++ ) //连续的5个棋子就赢了,所以往x增大的方向最多需要找4个就行了{ if (x1+i>15) //如果超出棋盘的右边界注意这里本来的代码是错的{ break;//就不用继续找下去了} if (intGame_Body[x1+i][y1]==intGame_Body[x][y]) //如果这个棋子跟当前棋子颜色相同{ t+=1;//则让计数器t增加一} else //否则{ break;//就不用继续找下去了,接下来的棋子肯定不是连续的了} } for (int i=1;i<5 ;i++ ) //同样,往x减小的方向找,最多只需要找4个{ if (x1-i<1) //如果超过坐边界{ break;//则不用继续找下去} if(intGame_Body[x1-i][y1]==intGame_Body[x][y]) //如果这个棋子跟当前棋子颜色相同{ t+=1;//则让计数器t增加一} else //否则{ break;//就不用继续找下去了,接下来的棋子肯定不是连续的了} } if (t>4) //如果连续的棋子个数大于4个{ return true;//返回赢了} else { return false;//返回还没赢呢} } //接下来的三个函数跟第一个几乎一样public boolean Game_win_2(int x,int y) //判断输赢 竖 { int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ) { if (y1+i>15) //注意这里本来的代码是错的{ break;} if (intGame_Body[x1][y1+i]==intGame_Body[x][y]) //y方向上增加{ t+=1;} else { break;} } for (int i=1;i<5 ;i++ ) { if (y1-i<1) //注意这里本来的代码是错的{ break;} if(intGame_Body[x1][y1-i]==intGame_Body[x][y]) //y方向上减小{ t+=1;} else { break;} } if (t>4) { return true;} else { return false;} } public boolean Game_win_3(int x,int y) //判断输赢 右斜 { int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ) { if (x1+i>15 || y1-i<1) //注意这里本来的代码是错的{ break;} if (intGame_Body[x1+i][y1-i]==intGame_Body[x][y]) //往右上方向去,此时x增大y减小{ t+=1;} else { break;} } for (int i=1;i<5 ;i++ ) { if (x1-i<1 || y1+i>15) //注意这里本来的代码是错的{ break;} if(intGame_Body[x1-i][y1+i]==intGame_Body[x][y]) //往左下方向去,此时x减小y增大{ t+=1;} else { break;} } if (t>4) { return true;} else { return false;} } public boolean Game_win_4(int x,int y) //判断输赢 左斜 { int x1,y1,t=1;x1=x;y1=y;for (int i=1;i<5 ;i++ ) { if (x1+i>15 || y1+i>15) //注意这里本来的代码是错的{ break;} if (intGame_Body[x1+i][y1+i]==intGame_Body[x][y]) //往右下方向去,此时x增大y增大{ t+=1;} else { break;} } for (int i=1;i<5 ;i++ ) { if (x1-i<1 || y1-i<1) //注意这里本来的代码是错的{ break;} if(intGame_Body[x1-i][y1-i]==intGame_Body[x][y]) //往左上方向去,此时x减小y减小{ t+=1;} else { break;} } if (t>4) { return true;} else { return false;} } } 收起
2011-02-10 11:44
来自北京市
赞(1)点赞赞(1)举报
发布评论
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。
相关知识
- 17浏览解决农村土地纠纷,这些程序你必须知道!
- 90浏览外墙腻子的配方,刮腻子的程序是什么?
- 65浏览李家超下令严查名人豪宅违建,违建拆除的法定程序有哪些?
- 1330浏览收房验房的程序是什么样的?收房时需要交纳哪些费用?
- 198浏览办理房产证所需要的材料有哪些?房产证土地使用权证办理程序
- 474浏览一套完整的验房程序到底是什么样的?
- 111浏览公民要如何办理贷款买房?贷款买房的具体程序
- 793浏览验房收房标准程序
- 185浏览房屋买卖合同登记的程序是怎样的?
- 907浏览商品房交房的程序是怎样的?业主收房时应注意些什么?
- 171浏览买商品房经过的程序包括哪些?怎样防范商品房的买卖风险?
- 621浏览存量房交易备案网签作用是什么?网签的程序是什么?
- 392浏览公积金异地购房贷款程序是怎样
- 457浏览二手房交易程序怎么走
- 533浏览公积金个人房贷如何办理?申办程序九步走
- 59浏览房屋租赁登记程序及其需要注意的事项有哪些?
- 42浏览房屋拆迁要满足哪些程序
- 605浏览为什么有些二手房过不了户?二手房过户程序
- 180浏览土地权属登记的程序 权属审核与公告
回答成功




