日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

游戲介紹:

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

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

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

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

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

源代碼示例:

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

#define mian main#define WIDTH 400#define HEIGHT 700#define INTERVAL 100//黑塊怎么存儲(chǔ)?int map[4];int score;  //分?jǐn)?shù)
void gameInit(){  //播放音樂(lè),向多媒體設(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7646

    瀏覽量

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74419

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    講解C語(yǔ)言代碼的實(shí)現(xiàn)過(guò)程

    重點(diǎn)講解C語(yǔ)言代碼的實(shí)現(xiàn)過(guò)程,算法的C語(yǔ)言實(shí)現(xiàn)過(guò)程具有一般性,通過(guò)PID算法的C
    發(fā)表于 01-21 07:58

    C語(yǔ)言來(lái)實(shí)現(xiàn)萬(wàn)年歷

    C語(yǔ)言實(shí)現(xiàn)萬(wàn)年歷程序的代碼如下:#include int year(int y) { if ((y%4==0) (y%100!=0) || y%400==0) return 366
    發(fā)表于 01-16 08:02

    C語(yǔ)言實(shí)現(xiàn)PID算法介紹

    PID 是 Proportional(比例)、Integral(積分)、Differential(微分)的首字母縮寫;是一種結(jié)合比例、積分和微分三種環(huán)節(jié)于一體的閉環(huán)控制算法。PID 控制的實(shí)質(zhì)是對(duì)目標(biāo)值和實(shí)際值誤差進(jìn)行比例、積分、微分運(yùn)算后的結(jié)果用來(lái)作用在輸出上。 比例 (P) 比例控制是最簡(jiǎn)單的一種控制方式,成比例的反應(yīng)控制系統(tǒng)中輸入與輸出的偏差信號(hào),只要偏差一旦產(chǎn)生,就立即產(chǎn)生控制的作用來(lái)減小產(chǎn)生的誤差。比例控制器的輸出與輸入成正比關(guān)系,能夠迅速的反應(yīng)偏差,偏差減小的速度取決于比例系數(shù) Kp,Kp 越大偏差減小的就越快,但是極易引起震蕩;Kp 減小發(fā)生震蕩的可能性減小,但是調(diào)節(jié)的速度變慢,單純的比例控制存在不能消除的靜態(tài)誤差,這里就需要積分來(lái)控制。 積分(I) 在比例控制環(huán)節(jié)產(chǎn)生了靜態(tài)誤差,在積分環(huán)節(jié)中,主要用于就是消除靜態(tài)誤差提高系統(tǒng)的無(wú)差度。積分作用的強(qiáng)弱,取決于積分時(shí)間常數(shù) Ti,Ti 越大積分作用越弱,反之則越強(qiáng)。積分控制作用的存在與偏差 e(t) 的存在時(shí)間有關(guān),只要系統(tǒng)存在著偏差,積分環(huán)節(jié)就會(huì)不斷起作用,對(duì)輸入偏差進(jìn)行積分,使控制器的輸出及執(zhí)行器的開(kāi)度不斷變化,產(chǎn)生控制作用以減小偏差。在積分時(shí)間足夠的情況下,可以完全消除靜差,這時(shí)積分控制作用將維持不變。Ti 越小,積分速度越快,積分作用越強(qiáng)。積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩。 微分(D) 微分環(huán)節(jié)的作用是反應(yīng)系統(tǒng)偏差的一個(gè)變化趨勢(shì),也可以說(shuō)是變化率,可以在誤差來(lái)臨之前提前引入一個(gè)有效的修正信號(hào),有利于提高輸出響應(yīng)的快速性, 減小被控量的超調(diào)和增加系統(tǒng)的穩(wěn)定性,雖然積分環(huán)節(jié)可以消除靜態(tài)誤差但是降低了系統(tǒng)的響應(yīng)速度,所以引入微分控制器就顯得很有必要,尤其是具有較大慣性的被控對(duì)象使用 PI 控制器很難得到很好的動(dòng)態(tài)調(diào)節(jié)品質(zhì),系統(tǒng)會(huì)產(chǎn)生較大的超調(diào)和振蕩,這時(shí)可以引入微分作用。在偏差剛出現(xiàn)或變化的瞬間,不僅根據(jù)偏差量作出及時(shí)反應(yīng)(即比例控制作用),還可以根據(jù)偏差量的變化趨勢(shì)(速度)提前給出較大的控制作用(即微分控制作用),將偏差消滅在萌芽狀態(tài),這樣可以大大減小系統(tǒng)的動(dòng)態(tài)偏差和調(diào)節(jié)時(shí)問(wèn),使系統(tǒng)的動(dòng)態(tài)調(diào)節(jié)品質(zhì)得以改善。微分環(huán)節(jié)有助于系統(tǒng)減小超調(diào),克服振蕩,加快系統(tǒng)的響應(yīng)速度,減小調(diào)節(jié)時(shí)間,從而改善了系統(tǒng)的動(dòng)態(tài)性能,但微分時(shí)間常數(shù)過(guò)大,會(huì)使系統(tǒng)出現(xiàn)不穩(wěn)定。微分控制作用一個(gè)很大的缺陷是容易引入高頻噪聲,所有在干擾信號(hào)比較嚴(yán)重的流量控制系統(tǒng)中不宜引入微分控制作用。
    發(fā)表于 01-16 07:24

    何用軟件實(shí)現(xiàn)系統(tǒng)的復(fù)位?

    看門狗的工作過(guò)程是怎樣的? 如何用軟件實(shí)現(xiàn)系統(tǒng)的復(fù)位?
    發(fā)表于 01-08 06:15

    C語(yǔ)言主要特點(diǎn)

    指針類型數(shù)據(jù),使用十分靈活和多樣化,能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹(shù)、棧等)的運(yùn)算。 4.具有結(jié)構(gòu)化的控制語(yǔ)句。用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化。C語(yǔ)言是完全模塊
    發(fā)表于 01-05 07:41

    何用C 語(yǔ)言函數(shù)的返回值?

    基本上,沒(méi)有人會(huì)將大段的C語(yǔ)言代碼全部塞入 main() 函數(shù)。更好的做法是按照復(fù)用率高、耦合性低的原則,盡可能的將代碼拆分不同的功能模塊,并封裝成函數(shù)。 C語(yǔ)言代碼的組合千變?nèi)f化,因
    發(fā)表于 12-25 07:17

    C語(yǔ)言C++的區(qū)別及聯(lián)系

    C語(yǔ)言C++到底是什么關(guān)系? 首先C++和C語(yǔ)言本來(lái)就是兩種不同的編程
    發(fā)表于 12-24 07:23

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

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

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

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

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

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

    C語(yǔ)言特性

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

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    單片機(jī)c語(yǔ)言相對(duì)于普通C語(yǔ)言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語(yǔ)言只牽
    發(fā)表于 11-14 07:55

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

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

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

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

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

    西門子 CFC(Continuous Function Chart)是一種圖形化的編程語(yǔ)言,主要用于西門子自動(dòng)化系統(tǒng)(如 SIMATIC PCS 7、TIA Portal 等)中的過(guò)程控制和邏輯設(shè)計(jì)。它基于功能和數(shù)據(jù)流的概念,適合連續(xù)過(guò)程控制、復(fù)雜邏輯和信號(hào)處理任務(wù)。
    的頭像 發(fā)表于 05-21 10:47 ?4344次閱讀
    在西門子TIA Portal中使用CFC<b class='flag-5'>語(yǔ)言實(shí)現(xiàn)</b>電機(jī)控制的全流程
    维西| 牡丹江市| 绥江县| 资溪县| 鞍山市| 镇江市| 孝义市| 财经| 兰考县| 启东市| 股票| 汉源县| 色达县| 广南县| 景德镇市| 深水埗区| 资阳市| 原阳县| 惠东县| 米易县| 云阳县| 博爱县| 辽阳市| 香格里拉县| 景德镇市| 垣曲县| 商洛市| 买车| 广河县| 班戈县| 禄劝| 越西县| 岑巩县| 马公市| 乌什县| 兰考县| 通山县| 理塘县| 衡阳县| 波密县| 马尔康县|