基于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的面積請(qǐng)不要大于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 << "請(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;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
?
?
? ? }
}以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c++11 多線程編程——如何實(shí)現(xiàn)線程安全隊(duì)列
這篇文章主要介紹了c++ 如何實(shí)現(xiàn)線程安全隊(duì)列,幫助大家更好的理解和學(xué)習(xí)c++的相關(guān)知識(shí),感興趣的朋友可以了解下2020-11-11
C++?實(shí)現(xiàn)單鏈表創(chuàng)建、插入和刪除
這篇文章主要介紹了C++?實(shí)現(xiàn)單鏈表創(chuàng)建、插入和刪除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
C++實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)最新版
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)最新版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
詳談全排列next_permutation() 函數(shù)的用法(推薦)
下面小編就為大家?guī)硪黄斦勅帕衝ext_permutation() 函數(shù)的用法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
VSCode遠(yuǎn)程代碼開發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實(shí)現(xiàn)遠(yuǎn)程辦公代碼
這篇文章主要介紹了VSCode遠(yuǎn)程代碼開發(fā)及DNS隧道端口轉(zhuǎn)發(fā)實(shí)現(xiàn)遠(yuǎn)程辦公,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

