資源簡介
較簡單
代碼片段和文件信息
#define?_CRT_SECURE_NO_WARNINGS?1
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
const?int?N?=?15;???????//15*15的棋盤
const?char?ChessBoard?=?‘?‘;??//棋盤標志
const?char?flag1?=?‘o‘;????//玩家1或電腦標志
const?char?flag2?=?‘x‘;????//玩家2標志
typedef?struct?Position{????//坐標
????int?row;????????//行
????int?col;????????//列
}Position;
class?GoBang{?????//五子棋類
public:
????GoBang(){
????????InitChessBoard();??????//初始化棋盤
????}
????void?Play(){??????//下棋
????????Position?Play1;???//玩家1或電腦
????????Position?Play2;???//玩家2
????????while?(1){
????????????int?mode?=?ChoiceMode();
????????????while?(1){
????????????????if?(mode?==?1){???????//電腦VS玩家
????????????????????ComputerChess(Play1?flag1);????????????//電腦走
????????????????????if?(GetVictory(Play1?0?flag1)){???????//0代表電腦,為真則表示電腦獲勝
????????????????????????break;
????????????????????}
????????????????????PlayChess(Play2?2?flag2);?????????//玩家2走
????????????????????if?(GetVictory(Play2?2?flag2)){???????//2代表玩家2
????????????????????????break;
????????????????????}
????????????????}
????????????????else{???????????????//玩家1VS玩家2
????????????????????PlayChess(Play1?1?flag1);?????????//玩家1走
????????????????????if?(GetVictory(Play1?1?flag1)){???????//玩家1贏
????????????????????????break;
????????????????????}
????????????????????PlayChess(Play2?2?flag2);?????????//玩家2走
????????????????????if?(GetVictory(Play2?2?flag2)){???????//玩家2贏
????????????????????????break;
????????????????????}
????????????????}
????????????}
????????????cout?<“======再來一局=======“?<????????????cout?<“yes?or?no?:“;??
????????????char?s[]?=?“yes“;
????????????cin?>>?s;
????????????if?(strcmp(s?“no“)?==?0){
????????????????break;
????????????}
????????}
????}
protected:
????void?InitChessBoard(){??????????//初始化棋盤
????????for?(int?i?=?0;?i?????????????for?(int?j?=?0;?j?????????????????_ChessBoard[i][j]?=?ChessBoard;
????????????}
????????}
????}
????int?ChoiceMode(){???????????//選擇模式
????????system(“cls“);
????????//系統(tǒng)調(diào)用,清屏
????????InitChessBoard();???????//重新初始化棋盤
????????cout?<“*************************************************“?<????????cout?<“******************0、退出************************“?<????????cout?<“******************1、電腦VS玩家******************“?<????????cout?<“******************2、玩家VS玩家******************“?<????????cout?<“*************************************************“?<????????while?(1){
????????????int?i?=?0;
????????????cout?<“請選擇模式:“;
????????????cin?>>?i;
????????????if?(i?==?0){???????//退出
????????????????exit(1);
????????????}
????????????if?(i?==?1?||?i?==?2){
????????????????return?i;
????????????}
????????????else{
????????????????cout?<“非法輸入,請重新輸入!“?<????????????}
????????}
????}
????void?PrintChessBoard(){????????//打印棋盤
????????printf(“?????1???
- 上一篇:俄羅斯方塊.cpp
- 下一篇:C++貪吃蛇控制臺小游戲代碼
評論
共有 條評論