c語言小練習11 三子棋

2021-10-01 04:22:40 字數 2186 閱讀 9785

三子棋遊戲

#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.若棋盤棋子已經布滿,但是雙方沒有一方...