當前位置:編程學習大全網 - 編程語言 - java程序設計,五子棋判斷輸贏

java程序設計,五子棋判斷輸贏

#define MAX_LINE 15

#define MAX_ROW 15

int Map[MAX_LINE][MAX_ROW];

int CheckWin() //返回0表示都沒贏,返回1表示白棋贏,返回2表示黑棋贏

{

int i,j,k;

int tmp;

/* 判斷所有橫行 */

for(i=0;i<MAX_LINE;i++)

{

for(j=0;j<MAX_ROW-5;j++)

{

tmp=Map[i][j];

if( tmp != 0)

{

for(k=1;k<5;k++)

if(Map[i][j+k] != tmp) /* 判斷Map[i][j+0]到Map[i][j+4]是否都相等(且不等於0) */

break;

if(k==6)

return tmp;

}

}

}

/* 判斷所有縱行 */

for(i=0;i<MAX_LINE-5;i++)

{

for(j=0;j<MAX_ROW;j++)

{

tmp=Map[i][j];

if( tmp != 0)

{

for(k=1;k<5;k++) /* 判斷Map[i+0][j]到Map[i+4][j]是否都相等(且不等於0) */

if(Map[i+k][j] != tmp)

break;

if(k==6)

return tmp;

}

}

}

/* 判斷所有斜行(撇) */

for(i=5;i<MAX_LINE;i++)

{

for(j=0;j<MAX_ROW-5;j++)

{

tmp=Map[i][j];

if( tmp != 0)

{

for(k=1;k<5;k++) /* 判斷Map[i-0][j+0]到Map[i-4][j+4]是否都相等(且不等於0) */

if(Map[i-k][j+k] != tmp)

break;

if(k==6)

return tmp;

}

}

}

/* 判斷所有斜行(捺) */

for(i=0;i<MAX_LINE-5;i++)

{

for(j=0;j<MAX_ROW-5;j++)

{

tmp=Map[i][j];

if( tmp != 0)

{

for(k=1;k<5;k++)

if(Map[i+k][j+k] != tmp) /* 判斷Map[i+0][j+0]到Map[i+4][j+4]是否都相等(且不等於0) */

break;

if(k==6)

return tmp;

}

}

}

return 0;

}

  • 上一篇:學大數據需要學哪種語言好?
  • 下一篇:火山模塊編程
  • copyright 2024編程學習大全網