text.**件
#define _crt_secure_no_warnings 1
#ifndef __text__h_
#define __text__h_
#define row 3
#define col 3 //巨集定義
#includevoid menu(); //列印選單函式
void initboard(char board[row], int row, int col,int set); //初始化棋盤函式
void showboard(char board[row], int row, int col);//列印棋盤函式
char iswin(char board[row], int row, int col); //判斷輸贏函式
void computermove(char board[row], int row, int col);//電腦移動函式
void playermove(char board[row], int row, int col); //玩家移動函式
static int isfull(char board[row], int row, int col); //判斷棋盤是否以滿函式
void game();//遊戲進行主要函式
#endif
text.c檔案
#include
"text.h"
#include
#include
/*********************
函式功能:列印選單
輸入值:無
輸出值:無
*********************/
void
menu()
/**********************************
函式功能:初始化棋盤
輸入值:乙個二維陣列、行、列、設定的初值
輸出值:無
**********************************/
void
initboard
(char board[
][row]
,int row,
int col,
int set)}}
/*****************************
函式功能;列印棋盤
輸入值:經過初始化的二維陣列、行、列
輸出值:無
******************************/
void
showboard
(char board[
][row]
,int row,
int col)
}printf
("\n");
if(i < row-1)
}printf
("\n");
}}}/*******************
函式功能:井字棋遊戲的主要執行函式
輸入值:無
輸出值:無
*******************/
void
game()
;initboard
( board, row, row,
' ')
;showboard
(board, row, col)
;while(1
) num=
isfull
( board, row, col);if
(num ==1)
computermove
(board, row, col)
;printf
("電腦移動:\n");
showboard
(board, row, col)
; ret =
iswin
(board, row, col);if
(ret !=
' ')
num =
isfull
(board, row, col);if
(num ==1)
}if(num ==1)
if(ret ==
'0')
else
}/********************************
函式功能:判斷是否輸贏
輸入值:初始化過的二維陣列、行列
輸出值:'o'||'x'||' '
*********************************/
char
iswin
(char board[
][row]
,int row,
int col)
if(board[0]
[i]== board[1]
[i]&& board[1]
[i]== board[2]
[i]&&board[0]
[i]!=
' ')
//判斷豎行
if(board[0]
[0]== board[1]
[1]&& board[1]
[1]== board[2]
[2]&& board[0]
[0]!=
' ')
//判斷對角線
if(board[0]
[2]== board[1]
[1]&& board[1]
[1]== board[2]
[0]&& board[0]
[2]!=
' ')
//判斷對角線
}return
' ';
}/***********************
函式功能:電腦移動
輸入值:初始化的二維陣列
輸出值:無
************************/
void
computermove
(char board[
][row]
,int row,
int col)}}
/**********************
函式功能:玩家移動
輸入值:初始化的二維陣列,行,列
輸出值:無
***********************/
void
playermove
(char board[
][row]
,int row,
int col)
else
}else}}
/**********************
函式功能:判斷棋盤是否滿了
輸入值:初始化的二維陣列、行、列
輸出值:0或1,0代表沒有滿,1代表滿了
***********************/
static
intisfull
(char board[
][row]
,int row,
int col)}}
return1;
}
main.c
#include
"text.h"
intmain()
}while
(input)
;return0;
}
C語言井字棋
include include include include 主要邏輯 使用者資料 棋盤 儲存使用者資料 正好對應3 3的乙個棋盤的九個資料點 每個裡面乙個x,y對應棋盤中的乙個填棋子的位置 struct point char map 14 14 struct point data 4 4 代表九...
小白 c語言編寫井字棋遊戲
本人小白一枚,編寫井字棋遊戲純粹興趣使然,其中必有不當或錯誤之處,還望大佬們批評指正。初始化棋盤 定義乙個字元陣列,對不同元素賦相應的值,構成棋盤邊框。初始化棋盤 void inimap 編寫其餘相關函式 除了棋盤初始化函式外,還需編寫落子函式 勝負判斷函式 棋盤列印函式等函式。還可以列印分隔線,輸...
C 實現井字棋遊戲
初步實現雙玩家輸入,操作遊戲 下一步將實現人機博弈 include lwww.cppcns.comt iostream using namespace std void player1 void 玩家1輸入 操作 函式 void player2 void 玩家2輸入 操作 函式 void game ...