chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用C語言實(shí)現(xiàn)別踩白塊游戲

C語言編程學(xué)習(xí)基地 ? 來源:C語言編程學(xué)習(xí)基地 ? 作者:C語言編程學(xué)習(xí)基地 ? 2021-11-18 11:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)——《別踩白塊游戲》,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下!

游戲介紹:

《別踩白塊兒 Don't Tap The White Tile》,這就是這個(gè)游戲的一個(gè)規(guī)則,我們只需要不斷踩著黑色方塊前進(jìn)即可,很簡單吧?誰都可以會(huì)玩,但并不是誰都能玩得很好噢,你呢?快來挑戰(zhàn)看看吧!經(jīng)典模式,以最快的速度到達(dá)終點(diǎn)。街機(jī)模式,你有能力得多少分就得多少分,沒有任何限制,這也是最具挑戰(zhàn)性的一個(gè)模式。限時(shí)模式,在30秒內(nèi)看你能走幾步。極速模式,沒有最高速限制的街機(jī)模式, 挑戰(zhàn)你的極限接力模式,規(guī)定時(shí)間內(nèi)完成50塊兒,然后會(huì)有更多時(shí)間去完成另外的50塊兒!

好了,那么我們今天就用我們所學(xué)的C語言知識(shí)來做出這個(gè)游戲吧!本項(xiàng)目僅實(shí)現(xiàn)了街機(jī)模式,其他模式大家可以自行摸索喲!

本項(xiàng)目編譯環(huán)境:VS2019/VS2013;

插件:圖形庫插件easyX,涉及圖片素材可以自行百度找也可以關(guān)注文末領(lǐng)??;

配套講解教程:別踩白塊游戲教程——嗶哩嗶哩

源代碼示例:

#include#include#include#include#include        //多媒體設(shè)備接口頭文件 #pragma comment(lib,"winmm.lib")  //多媒體設(shè)備接口庫文件

#define mian main#define WIDTH 400#define HEIGHT 700#define INTERVAL 100//黑塊怎么存儲(chǔ)?int map[4];int score;  //分?jǐn)?shù)
void gameInit(){  //播放音樂,向多媒體設(shè)備接口發(fā)送指令字符串  mciSendString(L"open ./野蜂飛舞.mp3 alias BGM", NULL, NULL, NULL);  //media device interface   send 發(fā)送  string 字符串  mciSendString(L"play  BGM", NULL, NULL, NULL);  //設(shè)置隨機(jī)數(shù)種子  srand((unsigned)time(NULL));  //對(duì)map進(jìn)行隨機(jī)初始化  for (size_t i = 0; i < 4; i++)  {    map[i] = rand() % 4;  }}//游戲界面繪制void gameDraw(){  //設(shè)置文字樣式  settextstyle(30, 0, L"楷體");  settextcolor(RED);  outtextxy(150, 30, L"別踩白塊");  //繪制游戲界面  setlinecolor(BLACK);  setlinestyle(PS_SOLID, 2);  for (size_t i = 0; i < 5; i++)  {    line(0, i * 150 + INTERVAL, WIDTH, i * 150 + INTERVAL);  //畫橫線    line(i * 100, INTERVAL, i * 100, HEIGHT);            //畫豎線  }  //根據(jù)map繪制出黑塊所在的位置  setfillcolor(BLACK);  for (size_t i = 0; i < 4; i++)  {    int x = map[i] * 100;    int y = i * 150 + INTERVAL;    //畫一個(gè)黑色的矩形    fillrectangle(x, y, x + 100, y + 150);  }  //輸出分?jǐn)?shù)  settextstyle(20, 0, L"楷體");  settextcolor(BLACK);  //把int 轉(zhuǎn)成 字符串用什么?  WCHAR str[20] = L"";  wsprintf(str, L"%d", score);  outtextxy(20, 20, str);}void move(){  //清屏  cleardevice();  //移動(dòng)  for (size_t i = 3; i > 0; i--)  {    map[i] = map[i - 1];  }  map[0] = rand() % 4;}//用鼠標(biāo)點(diǎn)擊黑塊,實(shí)現(xiàn)所有快,往下移動(dòng)bool mouseEvent(){  //獲取鼠標(biāo)消息  MOUSEMSG msg = GetMouseMsg();  if (msg.uMsg == WM_LBUTTONDOWN)  //鼠標(biāo)左鍵按下  {    //獲取最下面的黑塊的左上角坐標(biāo)    int x = map[3] * 100;    int y = 3 * 150 + INTERVAL;    if (msg.x >= x && msg.x <= x + 100 && msg.y >= y && msg.y <= y + 150)    {      score += 10;      //move();    }    else    {      return false;    }  }  return true;}//街機(jī)模式void loop(){  Sleep(500);  // 這個(gè)不太行,要自己寫定時(shí)器最好  move();}void gameOver(){  //彈出框  int isok =MessageBox(GetHWnd(), L"you lowser,是否繼續(xù)?", L"hit", MB_OKCANCEL);  if (isok == IDOK)  {    printf("繼續(xù)游戲~
");  }  else  {    printf("推出游戲~
");  }}
int mian(){  //圖形,正方形,圓形....  圖片  EW_SHOWCONSOLE同時(shí)顯示控制臺(tái)  initgraph(WIDTH, HEIGHT,EW_SHOWCONSOLE);  //設(shè)置窗口背景顏色  setbkcolor(WHITE);  cleardevice();  gameInit();  while (true)  {    gameDraw();    if (!mouseEvent())    {      break;    }    loop();  }  //游戲結(jié)束處理  gameOver();  getchar();  closegraph();  return 0;}

責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7642

    瀏覽量

    144524
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4940

    瀏覽量

    73074

原文標(biāo)題:C語言項(xiàng)目實(shí)戰(zhàn):《別踩白塊游戲》零基礎(chǔ)項(xiàng)目!137 行源代碼示例

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    為什么單片機(jī)還在用C語言編程?

    的缺陷 高級(jí)語言存在的目的是可以實(shí)現(xiàn)更為優(yōu)化的算法,更多的是為了方便的執(zhí)行方案,但是,高級(jí)語言對(duì)程序存儲(chǔ)空間的占用要比匯編和C語言多很多。
    發(fā)表于 11-28 07:37

    C語言的分支結(jié)構(gòu)介紹

    1.簡單if語句 C語言中的分支結(jié)構(gòu)語句中的if條件語句。 簡單if語句的基本結(jié)構(gòu)如下: 代碼語言:javascript if(表達(dá)式) { 執(zhí)行代碼; } 其語義是:如
    發(fā)表于 11-25 07:48

    請(qǐng)問如何用C語言列舉當(dāng)前所有網(wǎng)口?

    何用C語言列舉當(dāng)前所有網(wǎng)口?
    發(fā)表于 11-25 07:23

    C語言特性

    數(shù)據(jù),實(shí)現(xiàn)對(duì)設(shè)備的精準(zhǔn)控制,同時(shí)降低功耗,延長設(shè)備的使用壽命。 2、可移植性:跨平臺(tái)的通行證 C 語言具有良好的可移植性,這意味著用 C 語言
    發(fā)表于 11-24 07:01

    何用FPGA實(shí)現(xiàn)4K視頻的輸入輸出與處理

    游戲、影視和顯示領(lǐng)域,4K 已經(jīng)成為標(biāo)配。而今天,我們就來聊聊——如何用 FPGA 實(shí)現(xiàn) 4K 視頻的輸入輸出與處理。
    的頭像 發(fā)表于 10-15 10:47 ?1645次閱讀
    如<b class='flag-5'>何用</b>FPGA<b class='flag-5'>實(shí)現(xiàn)</b>4K視頻的輸入輸出與處理

    單片機(jī)C語言實(shí)例(350+例)

    350+單片機(jī)C語言實(shí)例! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-22 21:47

    在西門子TIA Portal中使用CFC語言實(shí)現(xiàn)電機(jī)控制的全流程

    西門子 CFC(Continuous Function Chart)是一種圖形化的編程語言,主要用于西門子自動(dòng)化系統(tǒng)(如 SIMATIC PCS 7、TIA Portal 等)中的過程控制和邏輯設(shè)計(jì)。它基于功能和數(shù)據(jù)流的概念,適合連續(xù)過程控制、復(fù)雜邏輯和信號(hào)處理任務(wù)。
    的頭像 發(fā)表于 05-21 10:47 ?3157次閱讀
    在西門子TIA Portal中使用CFC<b class='flag-5'>語言實(shí)現(xiàn)</b>電機(jī)控制的全流程

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼,從而提高編程效率。然而,為了避免程序進(jìn)入無限循環(huán),C語言提供了多種循
    的頭像 發(fā)表于 04-29 18:49 ?1722次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制

    客廳變游戲室?如何用樹莓派實(shí)現(xiàn) Moonlight 游戲流媒體

    在這個(gè)項(xiàng)目中,我們將向您展示如何使用Moonlight將游戲直接流式傳輸?shù)侥腞aspberryPi。Moonlight:https://moonlight-stream.org/Moonlight
    的頭像 發(fā)表于 03-25 09:37 ?1245次閱讀
    客廳變<b class='flag-5'>游戲</b>室?如<b class='flag-5'>何用</b>樹莓派<b class='flag-5'>實(shí)現(xiàn)</b> Moonlight <b class='flag-5'>游戲</b>流媒體

    為什么學(xué)了C語言,卻寫不出像樣的項(xiàng)目?

    在學(xué)習(xí)編程的路上,C語言幾乎是每個(gè)程序員的“必修課”。不管你是打算從事嵌入式開發(fā)、系統(tǒng)編程,還是想要深入理解操作系統(tǒng)的底層原理,C語言都是一
    的頭像 發(fā)表于 03-14 17:37 ?666次閱讀
    為什么學(xué)了<b class='flag-5'>C</b><b class='flag-5'>語言</b>,卻寫不出像樣的項(xiàng)目?

    單片機(jī)C語言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】

    資料介紹:包含 1. 51單片機(jī)入門教程 2. 初學(xué)者適用:單片機(jī)C語言實(shí)例100例(代碼及釋義) 3. 51單片機(jī)C語言快速上手 4. 51單片機(jī)
    發(fā)表于 03-14 11:03

    限時(shí)免積分下載:增量式與位置式PID算法的C語言實(shí)現(xiàn)分享

    前面咱們有分享對(duì)PID算法離散化和增量式PID算法原理進(jìn)行來探索,之后又使用Matlab進(jìn)行了仿真實(shí)驗(yàn),對(duì)PID三個(gè)參數(shù)又有了更深入的認(rèn)識(shí),接下來我們來使用C語言進(jìn)行PID算法實(shí)現(xiàn),并且結(jié)合控制電機(jī)的項(xiàng)目來深入學(xué)習(xí)。 今天限時(shí)免
    發(fā)表于 03-05 18:32

    解決HarmonyOS應(yīng)用中Image組件問題的有效方案

    碼完成后才刷新顯示。由于圖片下載過程耗時(shí)較長,在圖片完全加載之前,頁面往往會(huì)顯示空白區(qū)域或占位圖(通常為白色或淺色背景),這種現(xiàn)象被稱為“Image ”?!癐mage ”不僅影
    的頭像 發(fā)表于 02-17 10:08 ?1550次閱讀
    解決HarmonyOS應(yīng)用中Image組件<b class='flag-5'>白</b><b class='flag-5'>塊</b>問題的有效方案

    EE-188:使用C語言在ADSP-219x DSP上實(shí)現(xiàn)中斷驅(qū)動(dòng)系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《EE-188:使用C語言在ADSP-219x DSP上實(shí)現(xiàn)中斷驅(qū)動(dòng)系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 01-15 16:06 ?0次下載
    EE-188:使用<b class='flag-5'>C</b><b class='flag-5'>語言</b>在ADSP-219x DSP上<b class='flag-5'>實(shí)現(xiàn)</b>中斷驅(qū)動(dòng)系統(tǒng)

    基于FPGA實(shí)現(xiàn)圖像直方圖設(shè)計(jì)

    直方圖統(tǒng)計(jì)的原理 直方圖統(tǒng)計(jì)從數(shù)學(xué)上來說,是對(duì)圖像中的像素點(diǎn)進(jìn)行統(tǒng)計(jì)。圖像直方圖統(tǒng)計(jì)常用于統(tǒng)計(jì)灰度圖像,表示圖像中各個(gè)灰度級(jí)出現(xiàn)的次數(shù)或者概率。統(tǒng)計(jì)直方圖的實(shí)現(xiàn)采用C/C++或者其他高級(jí)語言實(shí)
    的頭像 發(fā)表于 12-24 10:24 ?1189次閱讀
    基于FPGA<b class='flag-5'>實(shí)現(xiàn)</b>圖像直方圖設(shè)計(jì)