三子棋遊戲
#define _crt_secure_no_warnings
#include
#include
#include
#include
#define max_row 3
#define max_col 3
intmemu1()
void
inint
(char chessboard[max_row]
[max_col])}
//memset(chessboard,' ',max_row*max_col);
}void
print1
(char chessboard[max_row]
[max_col]
)printf
("+---+---+---+\n");
}//玩家棋子用x表示
void
playermove
(char chessboard[max_row]
[max_col])if
(chessboard[row]
[col]
!=' '
) chessboard[row]
[col]
='x'
;break;}
}int
isfull
(char chessboard[max_row]
[max_col])}
}return1;
//棋盤已滿
}// 返回值表示遊戲的狀況
// 1. 返回 x 表示玩家獲勝
// 2. 返回 o 表示電腦獲勝
// 3. 返回 ' ' 表示還未分勝負
// 4. 返回 q 表示和棋
char
checkchess
(char chessboard[max_row]
[max_col])}
for(
int col =
0; col < max_col; col++
)//檢查列是否相同}if
(chessboard[0]
[0]!=
' '&&chessboard[0]
[0]== chessboard[1]
[1]&& chessboard[0]
[0]== chessboard[2]
[2])
//檢查對角
if(chessboard[0]
[2]!=
' '&&chessboard[0]
[2]== chessboard[1]
[1]&& chessboard[0]
[2]== chessboard[2]
[0])
//檢查對角if(
isfull
(chessboard)
)//判斷棋盤是否已滿
return
' ';//}
//電腦棋子用o表示
void
comptermove
(char chessboard[max_row]
[max_col]
) chessboard[row]
[col]
='o'
;break;}
}void
game1()
;inint
(chessboard)
;char winner =
' ';
while(1
)//電腦落子
comptermove
(chessboard)
;//檢查遊戲
winner =
checkchess
(chessboard);if
(winner !=
' ')
}print1
(chessboard);if
(winner ==
'x')
if(winner ==
'o')
if(winner ==
'q')
}int
main()
else
if(choice ==0)
else
}system
("pause");
return0;
}
C語言 三子棋練習
首先,在編寫之前,要建立標頭檔案和相應的.c檔案 其中,game.件用於寫入所有要用的標頭檔案,實現三子棋遊戲的所有函式的宣告和巨集常量的定義。include include include define row 3 define col 3 void initboard char board ro...
練習 三子棋
首先列印選單,並初始化棋盤 1.用二維陣列,把陣列的沒乙個元素置為 2.列印棋盤 3.玩家落子 scanf 實現 4.檢查輸入的位置是否已經有子,如果有則需要重新輸入 1 3之間 5.判斷輸贏 包括棋盤是否已滿的情況 6.電腦落子 用rand 隨機數實現 7.檢查隨機數所指向的位置是否已經有子,如果...
C語言 三子棋
使用工具 vs2017 分為三部分 game.h 函式宣告 game.c 實現函式功能 test.c main函式 棋盤為3 3的矩陣 規則 1.每回合玩家與電腦只能放置一枚棋子 2.已有棋子的位置不能再放置棋子 3.若有一方的三枚棋子可連城一條直線,則勝利 4.若棋盤棋子已經布滿,但是雙方沒有一方...