三子棋主要功能分析:
九江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
- 簡(jiǎn)易游戲界面
- 下棋及對(duì)應(yīng)棋盤(pán)的打印
- 勝負(fù)判斷
簡(jiǎn)易三子棋實(shí)現(xiàn)的基本子函數(shù):
界面函數(shù):
void manu() {
printf("*************************\n");
printf("***** welcome! *******\n");
printf("***** 1:play *******\n");
printf("***** 2:quit *******\n");
printf("*************************\n");
//界面函數(shù)只要是用于main函數(shù)中循環(huán)調(diào)用
}
棋盤(pán)初始化
void InitChess(char chess[ROW][COL], int row, int col) {
for (int i = 0; i< row; i++) {
for (int j = 0; j< col; j++) {
chess[i][j] = ' ';//初始化為‘ ’方便后續(xù)打印
}
}
}
棋盤(pán)打印函數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?上圖為打印界面樣式,采用每一個(gè)小格打印兩行,第一行為“ %c ”加‘|’第二行為---加‘|’,最后一列不打印‘|’,在最后一行中不打印---,由此寫(xiě)成一下循環(huán)
void PrintBoard(char chess[ROW][COL], int row, int col) {
for (int i = 0; i< row; i++) {
for (int j = 0; j< col; j++) {
printf(" %c ", chess[i][j]);
if (j< row - 1)//最后一列不打印‘|’
printf("|");
}
printf("\n");
if (i< row - 1)//最后一行不打印---
{
for (int j = 0; j< col; j++) {
printf("---");
if (j< row - 1)
printf("|");
}
printf("\n");
}
}
}
下棋函數(shù)
void Player(char chess[ROW][COL], int row, int col) //玩家下棋
{
int row1 = 0;
int col1 = 0;
while (1) {
printf("請(qǐng)輸入位置>>");
scanf("%d %d", &row1, &col1);
if (row1 >ROW || row1<= 0 || col1 >COL || col1<= 0) {
printf("pos error\n");
continue;
}
if (chess[row1-1][col1-1] != ' ') {
printf("pose error\n");
continue;
}
else {
chess[row1-1][col1-1] = '#';
break;
}
}
}
void computer(char chess[ROW][COL], int row, int col) //電腦下棋
{
while (1) {
int row1 = rand() % 3;//srand函數(shù)在進(jìn)入函數(shù)前調(diào)用
int col1 = rand() % 3;
if (row1 >ROW || row1<= 0 || col1 >COL || col1<= 0) {
continue;
}
if (chess[row1 - 1][col1 - 1] != ' ') {
continue;
}
else {
chess[row1 - 1][col1 - 1] = '*';
break;
}
}
}
判斷函數(shù)
int judge(char chess[ROW][COL], int row, int col) //簡(jiǎn)易判斷,只考慮三子棋,沒(méi)有寫(xiě)的更加深入
{
for (int i = 0; i< ROW; i++) {
if (chess[i][1] == chess[i][2] && chess[i][2] == chess[i][0] && chess[i][1] == '#') {
return 1;
}
}
for (int i = 0; i< COL; i++) {
if (chess[1][i] == chess[2][i] && chess[2][i] == chess[0][i]&&chess[1][i]=='#') {
return 1;
}
}
if (chess[1][1] == chess[2][2] && chess[2][2] == chess[0][0]&&chess[0][0]=='#')
return 1;
if (chess[0][0] == chess[1][1] && chess[1][1] == chess[2][2] && chess[0][0] == '#')
return 1;
for (int i = 0; i< ROW; i++) {
if (chess[i][1] == chess[i][2] && chess[i][2] == chess[i][0] && chess[i][1] == '*') {
return -1;
}
}
for (int i = 0; i< COL; i++) {
if (chess[1][i] == chess[2][i] && chess[2][i] == chess[0][i] && chess[1][i] == '*') {
return -1;
}
}
if (chess[1][1] == chess[2][2] && chess[2][2] == chess[0][0] && chess[0][0] == '*')
return -1;
if (chess[0][0] == chess[1][1] && chess[1][1] == chess[2][2] && chess[0][0] == '*')
return -1;
return 0;
}
主函數(shù)
int main() { int flag = 0; while (1) { manu(); scanf("%d", &flag); switch (flag) { case 1: game(); break; case 2:return 0; default: printf("input error"); continue; break; } } } void game() { srand((unsigned int)time(NULL)); char chess[ROW][COL]; int flag = 0; InitChess(chess, ROW, COL); PrintBoard(chess, ROW, COL); while (1) { Player(chess, ROW, COL); PrintBoard(chess, ROW, COL); flag = judge(chess, ROW, COL); if (flag == 1) { printf("You win\n"); return; } else if(flag== -1){ printf("You lose\n"); return; } printf("電腦輸入\n"); computer(chess, ROW, COL); PrintBoard(chess, ROW, COL); flag = judge(chess, ROW, COL); if (flag == 1) { printf("You win\n"); return; } else if (flag == -1) { printf("You lose\n"); return; } }
結(jié)果展示
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享名稱(chēng):簡(jiǎn)易三子棋實(shí)現(xiàn)-創(chuàng)新互聯(lián)
分享路徑:http://aaarwkj.com/article14/ddosde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機(jī)、全網(wǎng)營(yíng)銷(xiāo)推廣、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容