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

C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲

 更新時(shí)間:2020年08月24日 14:55:26   作者:變強(qiáng)也變禿了  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

五子棋簡(jiǎn)單功能實(shí)現(xiàn),供大家參考,具體內(nèi)容如下

游戲功能演示

代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <getch.h>
// 棋盤
char board[15][15];
// 棋子坐標(biāo)
char kx = 7 , ky = 7;
// 角色
char role = '@';
// 顯示棋盤
void show_board(void)
{
 system("clear");
 for(int i=0; i<15; i++)
 {
 for(int j=0; j<15; j++)
 {
 if(board[i][j])
 {
 printf(" %c",board[i][j]);
 }
 else
 {
 printf(" *");
 }
 }
 printf("\n");
 }
}
// 落子
void get_key(void)
{
 printf(" -----------請(qǐng)%c落子-----------\n",role);
 for(;;)
 {
 //通過(guò)光標(biāo)下棋
 printf("\33[%hhd;%hhdH",kx+1,(ky+1)*2);
 switch(getch())
 {
 case 183: kx>0 && kx--; break;
 case 184: kx<14 && kx++; break;
 case 185: ky<14 && ky++; break;
 case 186: ky>0 && ky--; break;
 case 10: if(!board[kx][ky])
 {
 board[kx][ky] = role;
 return;
 }
 }
 }
}
int count_eqkey(int ox,int oy)
{
 int count = 0;
 for(int x=kx+ox,y=ky+oy; x>=0 && x<15 && y>=0 && y<15 &&
 board[x][y]==board[kx][ky]; x+=ox,y+=oy)
 {
 count++;
 }
 return count;
}
// 檢查五子
bool check_board(void)
{
 if(count_eqkey(0,-1)+count_eqkey(0,1) >= 4)
 return true;
 if(count_eqkey(-1,0)+count_eqkey(1,0) >= 4)
 return true;
 if(count_eqkey(-1,-1)+count_eqkey(1,1) >= 4)
 return true;
 if(count_eqkey(-1,1)+count_eqkey(1,-1) >= 4)
 return true;
 return false;
}
int main()
{
 for(;;)
 {
 show_board();
 get_key(); 
 if(check_board())
 {
 show_board();
 printf("恭喜%c勝利,游戲結(jié)束!\n",role);
 return 0;
 }
 role = '@'==role?'#':'@';
 }
}

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

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

相關(guān)文章

  • 基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解

    基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解

    下面小編就為大家?guī)?lái)一篇基于list循環(huán)刪除元素,迭代器失效的問(wèn)題詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 淺談c++的編譯和運(yùn)行

    淺談c++的編譯和運(yùn)行

    下面小編就為大家?guī)?lái)一篇淺談c++的編譯和運(yùn)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • C語(yǔ)言實(shí)現(xiàn)掃雷程序

    C語(yǔ)言實(shí)現(xiàn)掃雷程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 基于matlab實(shí)現(xiàn)DCT數(shù)字水印嵌入與提取

    基于matlab實(shí)現(xiàn)DCT數(shù)字水印嵌入與提取

    數(shù)字水印技術(shù)是將一些標(biāo)識(shí)信息直接嵌入數(shù)字載體當(dāng)中,?或間接表示在信號(hào)載體中,?且不影響原載體的使用價(jià)值。本文主要為大家介紹了基于matlab如何實(shí)現(xiàn)數(shù)字水印的嵌入與提取,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲的示例代碼

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言如何實(shí)現(xiàn)經(jīng)典貪吃蛇游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語(yǔ)言有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • C語(yǔ)言超詳細(xì)文件操作基礎(chǔ)下篇

    C語(yǔ)言超詳細(xì)文件操作基礎(chǔ)下篇

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的文件操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 基于OpenCV實(shí)現(xiàn)圖像分割

    基于OpenCV實(shí)現(xiàn)圖像分割

    這篇文章主要為大家詳細(xì)介紹了基于OpenCV實(shí)現(xiàn)圖像分割,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Qt定時(shí)器(QTimer)的3種使用方法

    Qt定時(shí)器(QTimer)的3種使用方法

    本文主要介紹了Qt定時(shí)器(QTimer)的3種使用方法,主要包括QObject類提供的定時(shí)器,QTimer類提供的定時(shí)器,靜態(tài)的singleShot?()函數(shù)創(chuàng)建單觸發(fā)定時(shí)器,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C++為什么不能修改set里的值?非要修改怎么辦?

    C++為什么不能修改set里的值?非要修改怎么辦?

    因?yàn)橹暗奈恼掠姓f(shuō)過(guò)C++中 set的介紹及用法,今天這篇文章我們就來(lái)說(shuō)說(shuō)C++為什么不能修改set里的值,如果非要修改的話應(yīng)該怎么辦,下面我們一起進(jìn)入文章看看下面內(nèi)容,需要的朋友可以參考以下,希望對(duì)你有所幫助
    2021-11-11
  • C++利用模板實(shí)現(xiàn)消息訂閱和分發(fā)功能

    C++利用模板實(shí)現(xiàn)消息訂閱和分發(fā)功能

    C++語(yǔ)言支持重載,模板,虛函數(shù)等特性,為編寫高性能可擴(kuò)展的程序提供了利器。本文就講利用模板實(shí)現(xiàn)消息訂閱和分發(fā)功能,感興趣的小伙伴可以了解一下
    2022-12-12

最新評(píng)論