最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

游戲界面:

這是一個(gè)簡(jiǎn)易的五子棋游戲,由c語(yǔ)言編寫,每次循環(huán)輸入兩個(gè)位置的坐標(biāo),通過其奇偶性判斷是黑子還是白子,之后再判斷是否可以滿足勝利的條件,可以的話輸出**勝,接著進(jìn)行下一步的操作。同時(shí),每次進(jìn)行操作會(huì)在數(shù)組里記錄下來(lái)位置,這樣每次刷新屏幕時(shí)就可以顯示正常的棋子位置情況,如果游戲結(jié)束,則將數(shù)組更新,實(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)//實(shí)現(xiàn)了游戲的循環(huán)進(jì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()//初始化進(jìn)入界面
{
? ? 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");//實(shí)現(xiàn)了一個(gè)按任意鍵繼續(xù)的功能
}
int Map()//每次都實(shí)現(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()//對(duì)于最終的結(jié)果進(jìn)行判斷
{
? ? 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;
}

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

相關(guān)文章

  • C++ continue和break語(yǔ)句

    C++ continue和break語(yǔ)句

    這篇文章主要介紹了C++ continue和break語(yǔ)句,文章圍繞continue和break語(yǔ)句的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下,希望對(duì)大家有所幫助
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)火車票管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)火車票管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)火車票管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語(yǔ)言文件操作詳情(一)

    C語(yǔ)言文件操作詳情(一)

    這篇文章主要介紹了C語(yǔ)言文件操作詳情,主要討論的是數(shù)據(jù)文件,通過處理的磁盤上的文件展開主題內(nèi)容介紹,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04
  • C語(yǔ)言結(jié)構(gòu)體內(nèi)存的對(duì)齊知識(shí)詳解

    C語(yǔ)言結(jié)構(gòu)體內(nèi)存的對(duì)齊知識(shí)詳解

    這篇文章主要介紹了C語(yǔ)言結(jié)構(gòu)體內(nèi)存的對(duì)齊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 一起聊聊C++中的四種類型轉(zhuǎn)換符

    一起聊聊C++中的四種類型轉(zhuǎn)換符

    這篇文章主要是想喝大家一起聊聊來(lái)C++中的四種類型轉(zhuǎn)換符?:const_cast、reinterpret_cast、dynamic_cast和static_cast,感興趣的可以了解一下
    2022-07-07
  • 將CString字符串輸入轉(zhuǎn)化成整數(shù)的實(shí)現(xiàn)方法

    將CString字符串輸入轉(zhuǎn)化成整數(shù)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇將CString字符串輸入轉(zhuǎn)化成整數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-09-09
  • 弦圖ZOJ 1015 Fishing Net 判定方法

    弦圖ZOJ 1015 Fishing Net 判定方法

    弦圖,算法完全按照CDQ的PPT上給的最大勢(shì)算法(MCS)完美消除序列..需要的朋友可以參考下
    2012-11-11
  • C++適用入門同學(xué)的模板講解

    C++適用入門同學(xué)的模板講解

    人們需要編寫多個(gè)形式和功能都相似的函數(shù),因此有了函數(shù)模板來(lái)減少重復(fù)勞動(dòng);人們也需要編寫多個(gè)形式和功能都相似的類,于是?C++?引人了類模板的概念,編譯器從類模板可以自動(dòng)生成多個(gè)類,避免了程序員的重復(fù)勞動(dòng)
    2022-07-07
  • 淺談C++的淺拷貝出現(xiàn)的錯(cuò)誤

    淺談C++的淺拷貝出現(xiàn)的錯(cuò)誤

    下面小編就為大家?guī)?lái)一篇淺談C++的淺拷貝出現(xiàn)的錯(cuò)誤。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-01-01
  • c++ 遞歸鎖的使用示例代碼

    c++ 遞歸鎖的使用示例代碼

    這篇文章主要介紹了c++ 遞歸鎖的使用示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

乌海市| 洛隆县| 三江| 宜兴市| 巨鹿县| 青岛市| 雷波县| 甘泉县| 时尚| 上虞市| 石城县| 南宁市| 紫阳县| 顺平县| 鸡西市| 仙居县| 喀喇沁旗| 大余县| 玉山县| 沂南县| 福鼎市| 福安市| 定州市| 忻城县| 通榆县| 定兴县| 孟州市| 余干县| 广南县| 东安县| 贵德县| 绥阳县| 上蔡县| 阜南县| 印江| 嵩明县| 松溪县| 贵阳市| 松桃| 浠水县| 梁平县|