C語言實現三子棋

2021-08-13 10:24:01 字數 2572 閱讀 8220

實現三子棋程式,只要我們能夠理清楚思路,就可以知道其實它的做法並不難,重點在於實際寫**時需要多關注細節。這裡我們可以寫完一塊就可以立馬執行程式檢查是否如我們所想的效果出現,如若不是便可立即查錯糾錯。

**如下。

test.c

#include

#include

#include

#include "game.h"

void game()

//走到這一步說明有人贏了或者平局了

//那就需要判斷誰輸誰贏

if(ret == 'x')

else

if(ret == '0')

else

if(ret == 'q')

//最後展示棋盤

show_board(board, rows, cols);

}//選單顯示

void menu()

int main()

}while (input);

return

0;}

game.h檔案內容

#ifndef __game_h__

#define __game_h__

#include

#include

#include

//棋盤的行數和列數

#define rows 3

#define cols 3

//初始化棋盤

void init_board(char board[rows][cols], int row, int col);

//展示棋盤

void show_board(char board[rows][cols], int row, int col);

//玩家落子

void player_move(char board[rows][cols], int row, int col);

//電腦落子

void computer_move(char board[rows][cols], int row, int col);

//判斷是否贏了

char iswin(char board[rows][cols], int row, int col);

#endif //__game_h__

game.c檔案內容

#include "game.h"

//初始化棋盤全為空格

void init_board(char board[rows][cols], int row, int col)

//棋盤顯示

void show_board(char board[rows][cols], int row,int col)

}//玩家落子

void player_move(char board[rows][cols], int row, int col)

else

}else

}}//電腦落子

void computer_move(char board[rows][cols], int row, int col)

}}//判斷棋盤是否下滿,未滿返回0 滿了返回1

static

int isfull(char board[rows][cols], int row, int col)

}return1;}

//判斷輸贏

char iswin(char board[rows][cols], int row, int col)

//某列三子一樣

for(i=0; i//一列的3個位置的標記一樣且不能為初始化設定的空

if((board[0][i]==board[1][i])

&&(board[1][i]==board[2][i])

&&(board[1][i]!=' '))

//返回被標記的值(x或者0)

return board[1][i];

}//對角線三子一樣(有兩條對角線)

if((board[0][0]==board[1][1])

&&(board[1][1]==board[2][2])

&&(board[1][1]!=' '))

//返回被標記的值(x或者0)

return board[1][1];

if((board[0][2]==board[1][1])

&&(board[1][1]==board[2][0])

&&(board[1][1]!=' '))

//返回被標記的值(x或者0)

return board[1][1];

//走到這裡說明沒有人贏,但有可能達成了平局

//此時就需要判斷一下棋盤是否滿了

//如果滿了而又沒有人贏了說明達成了平局

if(isfull(board, row, col))

//走到這裡說明沒有人贏也沒有平局則返回乙個初始化設定的空

//來代表這種情況,遊戲繼續往下進行

return

' ';

}

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 ...

C語言實現三子棋

本文是編寫乙個小專案 三子棋 有單人模式 人機 和雙人模式 人人 兩種 主要步驟 1 首先建立三個檔案 這是我建立的,當熱名字可以隨個人愛好起,main.c中主要實現的時總選單,只需呼叫函式即可 sanziqi.h中實現的 是函式的宣告,當然在該專案中我並沒有分太多的函式 sanziqi.c中實現的...