1.首先建立乙個二維陣列用來存放期盼裡的內容。
char board[row][col] = ;
2.寫乙個函式對陣列初始化,全部置為空。
void initboard(char board[col],int row,int col)
} //memset(board[row][col], ' ', row * col * sizeof(char));
}
3.用函式把棋盤列印出來。
void showboard(char board[row][col], int row, int col)
} printf("\n");
if (i < row - 1)
}} printf("\n");
}}
4.玩家移動的函式,輸入下標放棋子。
void playermove(char board[row][col], int row, int col)
else
}else
}}
5.電腦移動,通過產生隨機數放棋子。
void computermove(char board[row][col], int row, int col)
}}
6.判斷電腦和玩家誰勝誰負。
int iswin(char board[row][col], int row, int col)
//縱向判斷
else if (board[0][i] == board[1][i] && board[0][i] == board[2][i] && board[0][i] != ' ')
//左對角線判斷
else if (board[0][0] == board[1][1] && board[0][0] == board[2][2] && board[0][0] != ' ')
//右對角線判斷
else if (board[0][2] == board[1][1] && board[0][2] == board[2][0] && board[0][2] != ' ')
//判斷棋盤是否放滿
else if (isfull(board, row, col == 1))
}return 1;
}
7.判斷棋盤是否放滿。
int isfull(char board[row][col], int row, int col)
} return 0;
}
8.對於多檔案編譯時標頭檔案的書寫。
#pragma once
#include#include#include#include#define row 3
#define col 3
//初始化棋盤
void initboard(char board[col], int row, int col);
//列印棋盤
void showboard(char board[col], int row, int col);
//玩家移動
void playermove(char board[row], int row, int col);
//是否贏得了勝利
int iswin(char board[row],int row,int col);
//電腦移動
void computermove(char board[row],int row,int col);
//判斷棋盤是否放滿
int isfull(char board[row][col], int row, int col);
9.主程式執行部分。
#define _crt_secure_no_warnings 1
#include"match.h"
void menu()
void game()
; initboard(board, row, col);
showboard(board, row, col);
while (1)
computermove(board, row, col);//電腦下棋
showboard(board, row, col); //列印棋盤
ret = iswin(board, row, col);//每次都要判斷是否贏了比賽
if (ret != 1)//結束遊戲
}if (ret == 'x')//玩家獲勝,遊戲結束
if (ret == 'y')//電腦獲勝,遊戲結束
if (ret == 0)//平局,遊戲結束 }
int main()
} while (input);
return 0;
}
通過三子棋小遊戲的編寫過程,學到了多檔案編譯的方法,也加強了對於函式呼叫的理解,知道了函式呼叫的便利。處理問題時把大問題化小問題,分模組完成各部分功能。 小遊戲 三子棋(C語言實現)
在電腦中存放時間有點久了,先把 寫一下,後邊有空加 與注釋。實現 game.h檔案 define crt secure no warnings 1 ifndef game h define game h include include include includeenum option defin...
C語言實現三子棋小遊戲
三子棋,和五子棋的原理是一樣的,當玩家或者是電腦的某一方先將各自的三個棋子下成一條線時誰就贏,遊戲就會結束。遊戲會有三種結果 電腦贏 玩家贏 平局。在 中也需要這三種情況的判定。要寫程式,就要清楚 需要幾個模組,可以分為以下幾個 棋盤初始化 電腦 玩家分別走棋 輸贏的判定 先對頭檔案定義 頭檔名 s...
C語言實現三子棋小遊戲
一 首先說一下具體思路 我們首先要想到的是三子棋的棋盤是乙個3 3的正方形棋盤,那麼這個棋盤我們可以用乙個二維陣列來實現。接下來就要想到具體要怎麼玩兒,首先讓電腦下乙個棋子走一步,然後玩家再下乙個棋子走一步。電腦下棋我們要產生一些隨機數,玩家下棋需要輸入具體的座標。最後就是判斷輸贏了 我們知道,三行...