C語言實現人機三子棋

2021-08-19 02:59:02 字數 1895 閱讀 4908

用c語言實現三子棋,自己思路是先讓以選單的形式讓玩家選擇進入遊戲或者退出。下棋時玩家以座標的形式將棋子放在定義的二維陣列裡,用o表示,電腦用隨機函式將棋子放入棋盤,用x表示。每次玩家和電腦放入後都判斷是否已經滿足規則。

1、首先設計選單,編寫主函式。

#include "game.h"

void menu() //選單

2.編寫標頭檔案,是函式呼叫方便,程式主體更加整齊

#ifndef __game_h_

#define __game_h_

#include #include #include #include #define row 3 //陣列的行

#define col 3 //陣列的列

void game();

#pragma warning(disable:4996)

#endif

3.編寫遊戲函式,程式的靈魂。

#include "game.h"

static void displayboard(char board[col], int row) //用來顯示棋盤的函式 }}

static void playermove(char board[col], int row) //玩家放棋子函式

else

}else

} while (1);

}static void compmove(char board[col], int row) //電腦移動

} while (1);

}static int isfull(char board[col], int row) //判斷是棋盤否下滿的函式

} }return 1;

}static char iswin(char board[col], int row) //判斷是否贏了的函式

} for (; i < col; i++) //判斷列是否夠三個 }

if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0]!=' ') //判斷右對角線是否夠三個

if (board[2][0] == board[1][1] && board[1][1] == board[0][2] && board[2][0]!=' ') //判斷左對角線是否夠三個

if (isfull(board, row))

return ' ';

}void game()

compmove(board, col);

system("cls");

displayboard(board, col);

ret = iswin(board, col);

} while (ret==' ');

if (ret == 'o') //返回值為o則表示玩家贏了

else if (ret == 'x') //返回值為x則表示電腦贏了

else if (ret == 't') //返回值為t則表示棋盤下滿未產生輸贏,平局

}

執行程式,其中x為電腦下的棋子,o為玩家下的棋子,很慚愧輸給了電腦,哈哈

利用C語言實現人機三子棋遊戲

1.首先遊戲介面是乙個選擇進入遊戲或者退出遊戲的簡單介面。2.進入遊戲之後出現的是乙個3 3的乙個棋盤。3.玩家通過輸入棋盤座標下棋,機器隨機落子。4.遊戲結束後可以選擇繼續遊戲或者退出遊戲。先上 標頭檔案 game.h define row 3 define col 3 include inclu...

C語言實現三子棋

game.h define crt secure no warnings 1 ifndef game h define game h include include include include define rows 3 define cols 3 void init board char bo...

三子棋C語言實現

要寫這個三子棋的程式我們分為三個部分首先是宣告函式的標頭檔案,我們分別宣告了五個函式,初始化棋盤,列印棋盤,玩家走,電腦走,檢查是否贏了。之後我們寫測試 然後分別來實現這五個函式 define crt secure no warnings 1 ifndef game h define game h ...