game.h
#pragma warning(disable: 4996)
#ifndef __game_h__
#define __game_h__
#include#include#include#define row 3
#define col 3
void initboard(char board[row][col],int row,int col);
void displayboard(char board[row][col],int row,int col);
void playmove(char board[row][col], int row, int col);
void computermove(char board[row][col], int row, int col);
char checkwin(char board[row][col], int row, int col);
enum option
;#endif //__game_h__
#ifndef 和 #endif 要一起使用,如果丟失#endif,可能會報錯
#ifndef起到的效果是防止乙個原始檔兩次包含同乙個標頭檔案,而不是防止兩個原始檔包含同乙個標頭檔案
分析:當第一次包含test.h時,由於沒有定義_test_h,條件為真,這樣就會包含(執行)#ifndef _test_h和
#endif之間的**,當第二次包含test.h時前面一次已經定義了_test_h,條件為假,#ifndef _test_h和
#endif之間的**也就不會再次被包含,這樣就避免了重定義了.
game.c
#include"game.h"
void initboard(char board[row][col], int row, int col) }}
void displayboard(char board[row][col], int row, int col)
printf("\n");
if (i < row - 1)
printf("\n");
} }}void playmove(char board[row][col], int row, int col)
else
printf("輸入座標被占用!\n");
} else
printf("輸入座標非法!\n"); }}
void computermove(char board[row][col], int row, int col) }}
static int isfull(char board[row][col],int row,int col)//只能在當前原始檔內部使用,外部連線屬性變成內部連線屬性(命名不衝突)
} return 1;
}char checkwin(char board[row][col], int row, int col)
} for (i = 0;i < col;i++) }
if (board[0][0] == board[1][1] && board[1][1] == board[2][2])
if (board[0][2] == board[1][1] && board[1][1] == board[2][0])
if (isfull(board, row, col))
return ' ';
}
可是通過改變巨集row.col快速改變棋盤大小,但是判斷輸贏的條件隨之也要修改
#include"game.h"
void menu()
void game()
; initboard(board,row,col);
displayboard(board, row, col);
while (1)
if(win == 'x')
else if(win == 'o')
else
}void test()
} while (i);
}int main()
『x』玩家贏
『o』電腦贏
『pj』平局
『 』未分出結果
ps:如果開始遊戲時選擇1 任意數字
能執行遊戲,但是會發生錯誤~
求大神~~
簡單三子棋
c8 簡單三子棋 使用二維陣列 建立乙個棋盤,每乙個元素都是乙個char x 表示玩家落子 o 表示電腦落子 表示未落子 define crt secure no warnings include include include int menu define max row 3 define ma...
簡單的三子棋的實現
程式執行結果如下 本次 實現乙個簡易的三子棋遊戲,基本思路是 列印選單 選擇遊戲 列印初始棋盤 玩家下棋 電腦隨機下棋 利用rand srand 的庫函式 判斷 棋盤是否的格仔是否為空,判斷哪一方贏 結束遊戲。為下 game.h ifndef game h define game h include...
三子棋的實現
三子棋的實現還是比較簡單的,在寫 之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的 並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的 這才是好 我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面 很清晰的展現了這一架構 v...