資源簡介
【五子棋(控制臺)】
【核心代碼】
FIveChess
├── FIveChess
│ ├── Common.h
│ ├── Debug
│ │ ├── FIveChess.log
│ │ ├── FIveChess.obj
│ │ ├── FIveChess.tlog
│ │ │ ├── CL.command.1.tlog
│ │ │ ├── CL.read.1.tlog
│ │ │ ├── CL.write.1.tlog
│ │ │ ├── FIveChess.lastbuildstate
│ │ │ ├── link.command.1.tlog
│ │ │ ├── link.read.1.tlog
│ │ │ └── link.write.1.tlog
│ │ ├── Tool.obj
│ │ ├── vc141.idb
│ │ └── vc141.pdb
│ ├── Define.h
│ ├── FIveChess.cpp
│ ├── FIveChess.vcxproj
│ ├── FIveChess.vcxproj.filters
│ ├── FIveChess.vcxproj.user
│ ├── Head.h
│ ├── Tool.cpp
│ └── Tool.h
└── FIveChess.sln
3 directories, 22 files
代碼片段和文件信息
#include?“Common.h“
#include?“Define.h“
#include?“Head.h“
#include?“Tool.h“
vector>?g_vcMap;???//地圖??
//T_chess?g_chess;????//?棋子的坐標(biāo)和所屬的玩家
int?g_playerIdx?=?1;??//?當(dāng)前玩家
bool?g_finishNum?=?false;?//?游戲是否結(jié)束
void?InitializeGame();??//初始化游戲
long?long?GetSystemTime();?//時間更新的
void?process();?//運(yùn)行過程
void?Update(int?x?int?y);?//更新界面棋子
bool?victory(int?x?int?y);?//勝利條件
int?main()
{
HideConCursor();//隱藏光標(biāo)
long?long??time?=?GetSystemTime();
while?(1)?{
InitializeGame();//初始化游戲
long?long?timeTim?=?GetSystemTime();
while?(timeTim?-?time?>=?1000?/?frame_NUM)
{
process();//?運(yùn)行過程
time?+=?1000?/?frame_NUM;
}
}
return?0;
}
void?process()
{
for?(int?i?=?0;?i? for?(int?j?=?0;?j? if?(Preserve(g_vcMap[i][j].t))?{
if?(g_vcMap[i][j].playerId?!=?0)?{
break;
}
else
{
Update(i?j);//?更新界面
g_finishNum?=?victory(i?j);?//游戲是否結(jié)束
if?(g_finishNum?==?true)
{
system(“pause“);
};
g_playerIdx?=?(g_playerIdx?==?1???2?:?1);
}
}
}
}
}
void?InitializeGame()//初始化游戲
{
for?(int?i?=?0;?i? vector?vc;
T_chess?chess;
for?(int?j?=?0;?j? chess.playerId?=?0;
chess.pos?=?{?ij?};
chess.t?=?NewButton(i?j?6?“○“);??//1???深藍(lán)色???12??淺紅色???2是綠色?
vc.push_back(chess);
}
g_vcMap.push_back(vc);
}
}
void?Update(int?x?int?y)//更新界面棋子
{
g_vcMap[x][y].playerId?=?g_playerIdx;
if?(g_playerIdx==1)
{
g_vcMap[x][y].t?=?NewButton(x?y?10?“●“);
}
else
{
g_vcMap[x][y].t?=?NewButton(x?y?30?“●“);
}
}
bool?victory(int?x?int?y)?//勝利條件
{
int?n1?=?0;?//左右方向?
int?n2?=?0;?//上下方向?
int?n3?=?0;?//左上到右下方向?
int?n4?=?0;?//?右上到左下方向y
?//先從點擊的位置向左尋找,相同顏色的棋子n1自加,直到不是相同顏色的棋子,則跳出循環(huán)?
for?(int?i?=?y;?i?>=?0;?i--)?{
if?(g_vcMap[x][i].playerId?!=?g_playerIdx)?{
break;
}
n1?+=?1;
}
//然后從點擊的位置向右位置尋找,相同顏色的棋子n1自加,直到不是相同顏色的棋子,則跳出循環(huán)?
for?(int?i?=?y?+?1;?i? if?(g_vcMap[x][i].playerId?!=?g_playerIdx)?{
break;
}
n1?+=?1;
}
//****************上下方向************?
for?(int?i?=?x;?i?>=?0;?i--)?{
if?(g_vcMap[i][y].playerId?!=?g_playerIdx)?{
break;
}
n2?+=?1;
}
for?(int?i?=?x?+?1;?i? if?(g_vcMap[i][y].playerId?!=?g_playerIdx)?{
break;
}
n2?+=?1;
}
//****************右上到左下斜方向***********?
for?(int?i?=?x?j?=?y;?i?>=?0?j? if?(i?0?||?j?>=??MAP_WIDTH?||?g_vcMap[i][j].playerId?!=?g_playerIdx)?{
break;
}
n3?+=?1;
}
for?(int?i?=?x?+?1?j?=?y?-?1;?i??0;?i++?j--)?{
if?(j?<=?0?||?i?>?MAP_HEIGHT?||?g_vcMap[i][j].playerId?!=?g_playerIdx)?{
break;
}
n3?+=?1;
}
//****************左上到右下斜方向*************
for?(int?i?=?x?j?=?y;?i?>=?0?j?>=?0;?i--?j--)?{
if?(i<0||j<0||g_vcMap[i][j].playerId?!=?g_playerIdx)?{
break;
}
n4?+=?1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????377??2020-07-06?09:34??FIveChess\FIveChess\Common.h
?????文件????????219??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.log
?????文件?????325879??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.obj
?????文件???????1446??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\CL.command.1.tlog
?????文件??????67138??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\CL.read.1.tlog
?????文件???????1280??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\CL.write.1.tlog
?????文件????????202??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\FIveChess.lastbuildstate
?????文件???????1260??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\li
?????文件???????3384??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\li
?????文件????????512??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog\li
?????文件??????66717??2020-07-06?09:38??FIveChess\FIveChess\Debug\Tool.obj
?????文件?????617472??2020-12-14?14:33??FIveChess\FIveChess\Debug\vc141.idb
?????文件?????552960??2020-12-14?14:33??FIveChess\FIveChess\Debug\vc141.pdb
?????文件????????508??2020-07-06?09:31??FIveChess\FIveChess\Define.h
?????文件???????4080??2020-12-14?14:33??FIveChess\FIveChess\FIveChess.cpp
?????文件???????7842??2020-07-06?09:38??FIveChess\FIveChess\FIveChess.vcxproj
?????文件???????1421??2020-07-06?09:38??FIveChess\FIveChess\FIveChess.vcxproj.filters
?????文件????????165??2020-07-06?09:20??FIveChess\FIveChess\FIveChess.vcxproj.user
?????文件????????244??2020-07-06?09:35??FIveChess\FIveChess\Head.h
?????文件???????2823??2020-07-06?09:37??FIveChess\FIveChess\Tool.cpp
?????文件????????425??2020-07-06?09:38??FIveChess\FIveChess\Tool.h
?????文件???????1441??2020-07-06?09:20??FIveChess\FIveChess.sln
?????目錄??????????0??2020-12-14?14:33??FIveChess\FIveChess\Debug\FIveChess.tlog
?????目錄??????????0??2020-12-14?14:33??FIveChess\FIveChess\Debug
?????目錄??????????0??2020-12-14?14:33??FIveChess\FIveChess
?????目錄??????????0??2020-12-14?14:34??FIveChess
-----------?---------??----------?-----??----
??????????????1657795????????????????????26
- 上一篇:c語言dos窗口掃雷.c
- 下一篇:推箱子小游戲源碼
評論
共有 條評論
相關(guān)資源
- c++打飛機(jī)
- c++ 23種設(shè)計模式
- C++貪吃蛇控制臺小游戲代碼
- 五子棋c++控制臺代碼
- socket通訊c++源碼(客戶端+服務(wù)端)
- MFC五子棋游戲
- VC++ 大富翁4_大富翁游戲源碼
- c++常用游戲算法及數(shù)據(jù)結(jié)構(gòu)設(shè)計
- c++程序設(shè)計(全國)
- c++的飛行鳥游戲
- c++ 單鏈表
- c++ 編程修養(yǎng)(32條編程建議)
- VC++ 攝像頭視頻采集與回放源程序
- C++MFC模塊講解,黑發(fā)程序員課程整理
- 轉(zhuǎn) VC++ 實現(xiàn)電子郵件(Email)發(fā)送
- c++開發(fā)http服務(wù)端+客戶端
- c++curllib傳輸json使用
- C++Builder XE7 update1 和諧文件親測可用
- C++ Primer mobi
- c++調(diào)用C# COM 參數(shù)是結(jié)構(gòu)體數(shù)組
- 基于MFC的VC++仿QQ瀏覽器源碼(雛形)
- 高版本Xcode 中 創(chuàng)建 C++ Class
- 使用 IBM Rational Systems Developer 和 Rati
- C++設(shè)計模式-好書
- C++設(shè)計模式pdf高清完整版
- 23種設(shè)計模式(C++實現(xiàn)版本
- C++設(shè)計模式 23種設(shè)計模式
- VC++ 服務(wù)程序編寫及安裝與卸載
- VC++6.0番茄西紅柿VAXvirsual assist X完美破
- C++17 The Complete Guide