欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現(xiàn)簡易的五子棋小游戲

 更新時間:2022年05月05日 16:20:14   作者:Prepare_y  
這篇文章主要為大家詳細介紹了C++實現(xiàn)簡易的五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C++實現(xiàn)簡易五子棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下

游戲界面:

這是一個簡易的五子棋游戲,由c語言編寫,每次循環(huán)輸入兩個位置的坐標,通過其奇偶性判斷是黑子還是白子,之后再判斷是否可以滿足勝利的條件,可以的話輸出**勝,接著進行下一步的操作。同時,每次進行操作會在數(shù)組里記錄下來位置,這樣每次刷新屏幕時就可以顯示正常的棋子位置情況,如果游戲結(jié)束,則將數(shù)組更新,實現(xiàn)重新開始的功能。

下面是代碼:

#include <cstdio>
#include <cstdlib>
#include <windows.h>
using namespace std;
void init_wel();//初始化界面
int bla=1,whr,x,y,poi_ch[20][20];//判斷棋子的種類
int Map();//棋盤
int put_ch(int m,int n);//放置棋子
int judge();//判斷是否有一方勝利
int main()
{
? ? memset(poi_ch,0,sizeof(poi_ch));
? ? init_wel();//初始化
? ? Map();
? ? while(1)//實現(xiàn)了游戲的循環(huán)進行
? ? {
? ? ? ? whr=1;
? ? ? ? scanf("%d%d",&x,&y);
? ? ? ? poi_ch[x][y]=put_ch(x,y);
? ? ? ? Map();
? ? ? ? bla++;
? ? ? ? judge();
? ? ? ? if(!whr)
? ? ? ? {
? ? ? ? ? ? memset(poi_ch,0,sizeof(poi_ch));
? ? ? ? ? ? bla=1;
? ? ? ? ? ? Map();
? ? ? ? }
? ? }
? ? return 0;
}
void init_wel()//初始化進入界面
{
? ? for(int i=0; i<5; i++)
? ? ? ? printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n");
? ? printf(". . . . . . . . . . . . . . Hello. .Boys and Girls . ?. . . . . . . . . . . . . . . .\n");
? ? for(int i=0; i<5; i++)
? ? ? ? printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n");
? ? system("pause");//實現(xiàn)了一個按任意鍵繼續(xù)的功能
}
int Map()//每次都實現(xiàn)刷新操作
{
? ? system("cls");
? ? for(int j=0; j<20; j++)
? ? {
? ? ? ? poi_ch[0][j]=j;
? ? ? ? printf("%3d",poi_ch[0][j]);
? ? }
? ? printf("\n");
? ? for(int i=1; i<20; i++)
? ? {
? ? ? ? for(int j=0; j<20; j++)
? ? ? ? {
?
? ? ? ? ? ? if(j==0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? poi_ch[i][0]=i;
? ? ? ? ? ? ? ? printf("%3d",poi_ch[i][0]);
? ? ? ? ? ? }
? ? ? ? ? ? else if (i>0&&j>0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if(poi_ch[i][j]==0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? printf(" ?*");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(poi_ch[i][j]==21)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? printf(" ●");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(poi_ch[i][j]==22)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? printf(" ○");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? printf("\n");
? ? }
? ? return 0;
}
int put_ch(int m,int n)//放置棋子
{
? ? if(bla%2==1&&poi_ch[m][n]==0)
? ? {
? ? ? ? poi_ch[m][n]=21;
? ? ? ? return poi_ch[m][n];
? ? }
? ? else
? ? {
? ? ? ? if(poi_ch[m][n]==21)
? ? ? ? {
? ? ? ? ? ? bla--;
? ? ? ? ? ? return poi_ch[m][n];
? ? ? ? }
? ? ? ? if(poi_ch[m][n]==22)
? ? ? ? {
? ? ? ? ? ? bla--;
? ? ? ? ? ? return poi_ch[m][n];
? ? ? ? }
? ? }
? ? if(bla%2==0&&poi_ch[m][n]==0)
? ? {
? ? ? ? poi_ch[m][n]=22;
? ? ? ? return poi_ch[m][n];
?
? ? }
? ? else
? ? {
? ? ? ? if(poi_ch[m][n]==21)
? ? ? ? {
? ? ? ? ? ? bla--;
? ? ? ? ? ? return poi_ch[m][n];
? ? ? ? }
? ? ? ? if(poi_ch[m][n]==22)
? ? ? ? {
? ? ? ? ? ? bla--;
? ? ? ? ? ? return poi_ch[m][n];
? ? ? ? }
? ? }
? ? return 0;
}
int judge()//對于最終的結(jié)果進行判斷
{
? ? for(int i=1; i<20; i++)
? ? {
? ? ? ? for(int j=1; j<20; j++)
? ? ? ? {
? ? ? ? ? ? if(poi_ch[i][j]==21&&poi_ch[i][j+1]==21&&poi_ch[i][j+2]==21&&poi_ch[i][j+3]==21&&poi_ch[i][j+4]==21)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("白子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(poi_ch[i][j]==22&&poi_ch[i][j+1]==22&&poi_ch[i][j+2]==22&&poi_ch[i][j+3]==22&&poi_ch[i][j+4]==22)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("黑子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(poi_ch[i][j]==21&&poi_ch[i+1][j]==21&&poi_ch[i+2][j]==21&&poi_ch[i+3][j]==21&&poi_ch[i+4][j]==21)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("白子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(poi_ch[i][j]==22&&poi_ch[i+1][j]==22&&poi_ch[i+2][j]==22&&poi_ch[i+3][j]==22&&poi_ch[i+4][j]==22)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("黑子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(poi_ch[i][j]==21&&poi_ch[i+1][j+1]==21&&poi_ch[i+2][j+2]==21&&poi_ch[i+3][j+3]==21&&poi_ch[i+4][j+4]==21)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("白子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(poi_ch[i][j]==22&&poi_ch[i+1][j-1]==22&&poi_ch[i+2][j-2]==22&&poi_ch[i+3][j-3]==22&&poi_ch[i+4][j-4]==22)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? whr=0;
? ? ? ? ? ? ? ? printf("黑子勝\n");
? ? ? ? ? ? ? ? system("pause");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return 0;
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言數(shù)據(jù)結(jié)構(gòu)之堆、堆排序的分析及實現(xiàn)

    C語言數(shù)據(jù)結(jié)構(gòu)之堆、堆排序的分析及實現(xiàn)

    堆是一個近似完全二叉樹的結(jié)構(gòu),并同時滿足堆積的性質(zhì),下面這篇文章主要給大家介紹了關(guān)于C語言數(shù)據(jù)結(jié)構(gòu)之堆、堆排序的分析及實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • c++11多種格式時間轉(zhuǎn)化為字符串的方法實現(xiàn)

    c++11多種格式時間轉(zhuǎn)化為字符串的方法實現(xiàn)

    本文主要介紹了c++11多種格式時間轉(zhuǎn)化為字符串的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Qt自繪實現(xiàn)蘋果按鈕滑動效果的示例代碼

    Qt自繪實現(xiàn)蘋果按鈕滑動效果的示例代碼

    這篇文章主要介紹了Qt自繪實現(xiàn)蘋果按鈕滑動效果的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • QT TCP實現(xiàn)簡單的通信示例

    QT TCP實現(xiàn)簡單的通信示例

    這篇文章主要為大家詳細介紹了QT TCP簡單的通信示例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言嵌套鏈表實現(xiàn)學(xué)生成績管理系統(tǒng)

    C語言嵌套鏈表實現(xiàn)學(xué)生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言嵌套鏈表實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • c++中strcpy函數(shù)在VS2015無法使用的問題

    c++中strcpy函數(shù)在VS2015無法使用的問題

    這篇文章主要介紹了c++中strcpy函數(shù)在VS2015無法使用的問題,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • C++ Virtual關(guān)鍵字的具體使用

    C++ Virtual關(guān)鍵字的具體使用

    這篇文章主要介紹了C++ Virtual關(guān)鍵字的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表)

    C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別

    C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別

    本文主要介紹了C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • OpenCV4 實現(xiàn)背景分離的詳細步驟(背景減法模型)

    OpenCV4 實現(xiàn)背景分離的詳細步驟(背景減法模型)

    背景分離(BS)是一種通過使用靜態(tài)相機來生成前景掩碼(即包含屬于場景中的移動對象像素的二進制圖像)的常用技術(shù),本文給大家介紹OpenCV4 實現(xiàn)背景分離的詳細步驟,需要的朋友可以參考下
    2021-09-09

最新評論