基于C++實(shí)現(xiàn)五子棋小游戲
本文實(shí)例為大家分享了C++實(shí)現(xiàn)五子棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下
(這是一個(gè)顏色會(huì)變化的呦)
#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 << "請(qǐng)選擇你們想要的棋盤(pán)大?。ㄆ灞P(pán)的面積請(qǐng)不要大于100)" << endl; ? ? cout << "棋盤(pán)的長(zhǎng):(推薦長(zhǎng)度為10)" << endl; ? ? cin >> m; ? ? cout << "棋盤(pán)的寬:(推薦長(zhǎng)度為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 << "請(qǐng)玩家一輸入:" << 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 << "請(qǐng)玩家二輸入:" << 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; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C++實(shí)現(xiàn)圖形界面雙人五子棋游戲
- C++代碼實(shí)現(xiàn)五子棋小游戲
- C++實(shí)現(xiàn)五子棋游戲(注釋版)
- C++實(shí)現(xiàn)五子棋小游戲
- C++實(shí)現(xiàn)簡(jiǎn)易的五子棋游戲
- C++實(shí)現(xiàn)簡(jiǎn)易五子棋游戲
- C++實(shí)現(xiàn)簡(jiǎn)單五子棋游戲
- 使用C++ MFC編寫(xiě)一個(gè)簡(jiǎn)單的五子棋游戲程序
- 基于c++ ege圖形庫(kù)實(shí)現(xiàn)五子棋游戲
- C++簡(jiǎn)單五子棋的AI設(shè)計(jì)實(shí)現(xiàn)
相關(guān)文章
c++11 多線(xiàn)程編程——如何實(shí)現(xiàn)線(xiàn)程安全隊(duì)列
這篇文章主要介紹了c++ 如何實(shí)現(xiàn)線(xiàn)程安全隊(duì)列,幫助大家更好的理解和學(xué)習(xí)c++的相關(guān)知識(shí),感興趣的朋友可以了解下2020-11-11C++?實(shí)現(xiàn)單鏈表創(chuàng)建、插入和刪除
這篇文章主要介紹了C++?實(shí)現(xiàn)單鏈表創(chuàng)建、插入和刪除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07C++實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)最新版
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)最新版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06詳談全排列next_permutation() 函數(shù)的用法(推薦)
下面小編就為大家?guī)?lái)一篇詳談全排列next_permutation() 函數(shù)的用法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03VSCode遠(yuǎn)程代碼開(kāi)發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實(shí)現(xiàn)遠(yuǎn)程辦公代碼
這篇文章主要介紹了VSCode遠(yuǎn)程代碼開(kāi)發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實(shí)現(xiàn)遠(yuǎn)程辦公,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04C++創(chuàng)建多線(xiàn)程的方法總結(jié)
下個(gè)迭代有個(gè)任務(wù)很有趣,用大量的線(xiàn)程去訪(fǎng)問(wèn)一個(gè)接口,直至其崩潰為止,這就需要多線(xiàn)程的知識(shí),這也不是什么難事,本文總結(jié)一下C++中的多線(xiàn)程方法std、boost、pthread、windows?api,感興趣的朋友可以參考下2024-01-01