基于C++實現(xiàn)五子棋小游戲
更新時間:2022年05月05日 16:12:59 作者:無乎648
這篇文章主要為大家詳細介紹了基于C++實現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C++實現(xiàn)五子棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下
(這是一個顏色會變化的呦)
#include <iostream> using namespace std; int b[20][20]; int n; int m; void qipan() { ? ? system("cls"); ? ? int k = 1; ? ? for (int k = 0;k < n;++k) ? ? { ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? { ? ? ? ? ? ? cout << " ---- "; ? ? ? ? } ? ? ? ? cout << endl; ? ? ? ? for (int i = 0;i < n;++i) ? ? ? ? { ? ? ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (b[i][j] < 10 && b[i][j] >= 0) cout << "| " << 0 << b[i][j] << " |"; ? ? ? ? ? ? ? ? else if (b[i][j] == -1) cout << "| " << "█" << " |"; ? ? ? ? ? ? ? ? else if (b[i][j] == -2) cout << "|" << " ○ " << "|"; ? ? ? ? ? ? ? ? else cout << "| " << b[i][j] << " |"; ? ? ? ? ? ? ? ? ? k++; ? ? ? ? ? ? } ? ? ? ? ? ? ? ? cout << endl; ? ? ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout << " ---- "; ? ? ? ? ? ? } ? ? ? ? ? ? cout << endl; ? ? ? ? } ? ? } } void success() { ? ? long time; ? ? for (;;) ? ? { ? ? ? ? system("color a"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color b"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color c"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color d"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color e"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color f"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 0"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 1"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 2"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 3"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 4"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 5"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 6"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 7"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 8"); ? ? ? ? for (time = 0; time < 99999999; time++); ? ? ? ? system("color 9"); ? ? } } int main() { ? ? cout << "請選擇你們想要的棋盤大?。ㄆ灞P的面積請不要大于100)" << endl; ? ? cout << "棋盤的長:(推薦長度為10)" << endl; ? ? cin >> m; ? ? cout << "棋盤的寬:(推薦長度為10)" << endl; ? ? cin >> n; ? ? for (int i = 0;i < n;++i) ? ? { ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? { ? ? ? ? ? ? b[i][j] = i * m + j; ? ? ? ? } ? ? } ? ? qipan(); ? ? while (1) ? ? { ? ? ? ? int x; ? ? ? ? cout << "請玩家一輸入:" << endl; ? ? ? ? cin >> x; ? ? ? ? if (x == 648) ? ? ? ? { ? ? ? ? ? ? cout << "玩家一使用系統(tǒng)外掛" << endl; ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? cout << "玩家一獲勝" << endl; ? ? ? ? ? ? success(); ? ? ? ? ? ? return 0; ? ? ? ? } ? ? ? ? for (int i = 0;i < n;++i) ? ? ? ? { ? ? ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (b[i][j] == x) b[i][j] = -1; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? for (int i = 0;i < n;++i) ? ? ? ? { ? ? ? ? ? ? for (int j = 0;j < m - 4;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if ((b[i][j] == -1 && b[i][j + 1] == -1 && b[i][j + 2] == -1 && b[i][j + 3] == -1 && b[i][j + 4] == -1) ? ? ? ? ? ? ? ? ? ? || (b[i][j] == -1 && b[i + 1][j] == -1 && b[i + 2][j] == -1 && b[i + 3][j] == -1 && b[i + 4][j] == -1) ? ? ? ? ? ? ? ? ? ? || (b[i][j] == -1 && b[i + 1][j + 1] == -1 && b[i + 2][j + 2] == -1 && b[i + 3][j + 3] == -1 && b[i + 4][j + 4] == -1)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? ? ? ? ? cout << "玩家一獲勝" << endl; ? ? ? ? ? ? ? ? ? ? success(); ? ? ? ? ? ? ? ? ? ? return 0; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? else if (i >= 4 && (b[i][j] == -1 && b[i - 1][j + 1] == -1 && b[i - 2][j + 2] == -1 && b[i - 3][j + 3] == -1 && b[i - 4][j + 4] == -1)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? ? ? ? ? cout << "玩家一獲勝" << endl; ? ? ? ? ? ? ? ? ? ? success(); ? ? ? ? ? ? ? ? ? ? return 0; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? qipan(); ? ? ? ? cout << "請玩家二輸入:" << endl; ? ? ? ? cin >> x; ? ? ? ? if (x == 648) ? ? ? ? { ? ? ? ? ? ? cout << "玩家二使用系統(tǒng)外掛" << endl; ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? cout << "玩家二獲勝" << endl; ? ? ? ? ? ? success(); ? ? ? ? ? ? return 0; ? ? ? ? } ? ? ? ? for (int i = 0;i < n;++i) ? ? ? ? { ? ? ? ? ? ? for (int j = 0;j < m;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if (b[i][j] == x) b[i][j] = -2; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? qipan(); ? ? ? ? for (int i = 0;i < n;++i) ? ? ? ? { ? ? ? ? ? ? for (int j = 0;j < m - 4;++j) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if ((b[i][j] == -2 && b[i][j + 1] == -2 && b[i][j + 2] == -2 && b[i][j + 3] == -2 && b[i][j + 4] == -2) ? ? ? ? ? ? ? ? ? ? || (b[i][j] == -2 && b[i + 1][j] == -2 && b[i + 2][j] == -2 && b[i + 3][j] == -2 && b[i + 4][j] == -2) ? ? ? ? ? ? ? ? ? ? || (b[i][j] == -2 && b[i + 1][j + 1] == -2 && b[i + 2][j + 2] == -2 && b[i + 3][j + 3] == -2 && b[i + 4][j + 4] == -2)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? ? ? ? ? cout << "玩家二獲勝" << endl; ? ? ? ? ? ? ? ? ? ? success(); ? ? ? ? ? ? ? ? ? ? return 0; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? else if (i >= 4 && (b[i][j] == -2 && b[i - 1][j + 1] == -2 && b[i - 2][j + 2] == -2 && b[i - 3][j + 3] == -2 && b[i - 4][j + 4] == -2)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? cout << "游戲結(jié)束" << endl; ? ? ? ? ? ? ? ? ? ? cout << "玩家二獲勝" << endl; ? ? ? ? ? ? ? ? ? ? success(); ? ? ? ? ? ? ? ? ? ? return 0; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++?實現(xiàn)單鏈表創(chuàng)建、插入和刪除
這篇文章主要介紹了C++?實現(xiàn)單鏈表創(chuàng)建、插入和刪除方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07詳談全排列next_permutation() 函數(shù)的用法(推薦)
下面小編就為大家?guī)硪黄斦勅帕衝ext_permutation() 函數(shù)的用法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03VSCode遠程代碼開發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實現(xiàn)遠程辦公代碼
這篇文章主要介紹了VSCode遠程代碼開發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實現(xiàn)遠程辦公,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04