色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何用C語言實現別踩白塊游戲

C語言編程學習基地 ? 來源:C語言編程學習基地 ? 作者:C語言編程學習基地 ? 2021-11-18 11:21 ? 次閱讀

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

游戲介紹:

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

好了,那么我們今天就用我們所學的C語言知識來做出這個游戲吧!本項目僅實現了街機模式,其他模式大家可以自行摸索喲!

本項目編譯環境:VS2019/VS2013;

插件:圖形庫插件easyX,涉及圖片素材可以自行百度找也可以關注文末領取;

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

源代碼示例:

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

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

責任編輯:haq
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7605

    瀏覽量

    136990
  • 代碼
    +關注

    關注

    30

    文章

    4791

    瀏覽量

    68680

原文標題:C語言項目實戰:《別踩白塊游戲》零基礎項目!137 行源代碼示例

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA實現圖像直方圖設計

    直方圖統計的原理 直方圖統計從數學上來說,是對圖像中的像素點進行統計。圖像直方圖統計常用于統計灰度圖像,表示圖像中各個灰度級出現的次數或者概率。統計直方圖的實現采用C/C++或者其他高級語言實
    的頭像 發表于 12-24 10:24 ?119次閱讀
    基于FPGA<b class='flag-5'>實現</b>圖像直方圖設計

    在學習go語言的過程過的坑

    作為一個5年的phper,這兩年公司和個人都在順應技術趨勢,新項目慢慢從php轉向了go語言,從2021年到現在,筆者手上也先后開發了兩個go項目。在學習go語言的過程中也學習并總結了一些相關的東西,這篇文章就分享下自己過的一
    的頭像 發表于 11-11 09:22 ?167次閱讀

    使用C語言實現函數模板

      用C語言能不能實現一個通用的函數,既能完成整數的相加,又能完成浮點數的相加?
    的頭像 發表于 11-09 11:38 ?401次閱讀

    C語言與Java語言的對比

    C語言和Java語言都是當前編程領域中的重要成員,它們各自具有獨特的優勢和特點,適用于不同的應用場景。以下將從語法特性、內存管理、跨平臺性、性能、應用領域等多個方面對C
    的頭像 發表于 10-29 17:31 ?357次閱讀

    何用 S7-200 實現 Modbus 通信?

    電子發燒友網站提供《如何用 S7-200 實現 Modbus 通信?.pdf》資料免費下載
    發表于 09-14 10:22 ?1次下載

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區別。本文將從多個維度深入探討PLC編程
    的頭像 發表于 06-14 17:11 ?2877次閱讀

    何用C語言實現高效查找(二分法)

    今天給分享一下使用C語言實現二分算法,主要包含以下幾部分內容:二分查找算法介紹二分查找算法使用場景二分查找算法代碼實現二分查找算法實現過程用C
    的頭像 發表于 06-04 08:04 ?1159次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>C</b><b class='flag-5'>語言實現</b>高效查找(二分法)

    使用C語言實現的CRC計算單元的例子

    使用C語言實現的CRC計算單元的例子
    的頭像 發表于 05-16 16:16 ?1006次閱讀

    嵌入式編程,如何用 C 語言實現狀態機設計?

    狀態機模式是一種行為模式,通過多態實現不同狀態的調轉行為的確是一種很好的方法,只可惜在嵌入式環境下,有時只能寫純C代碼,并且還需要考慮代碼的重入和多任務請求跳轉等情形,因此實現起來著實需要一番考慮
    發表于 04-23 11:00

    C語言實現Web參數傳遞

    電子發燒友網站提供《C語言實現Web參數傳遞.docx》資料免費下載
    發表于 03-24 09:14 ?2次下載

    嵌入式系統中C語言結構體的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。
    發表于 03-12 14:29 ?509次閱讀
    嵌入式系統中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結構體的基礎<b class='flag-5'>實現</b>與應用

    c語言,c++,java,python區別

    C語言C++、Java和Python是四種常見的編程語言,各有優點和特點。 C語言
    的頭像 發表于 02-05 14:11 ?2429次閱讀

    vb語言c++語言的區別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級編程語言,但在設計和用途上有很多區別。下面將詳細比較VB
    的頭像 發表于 02-01 10:20 ?2362次閱讀

    C語言能夠實現單片機功能,為什么還要使用匯編呢?

    C語言能夠實現單片機功能,為什么還要使用匯編呢? C語言是一種高級編程語言,它具有跨平臺、可移植
    的頭像 發表于 01-15 14:59 ?1076次閱讀

    ADUC7061如何使用C語言實現EEPROM功能?

    我使用ADUC7061做的信號采集,現在客戶需要實現EEPROM功能來保存3-5個數據,請問如何使用C語言實現?不使用外部EEPROM 專用IC。
    發表于 01-12 06:56
    主站蜘蛛池模板: 一级特黄aa大片欧美| 色橹橹欧美在线观看视频高| 久久综合丁香激情久久| 影音先锋av男人资源| 国产亚洲欧美日韩综合综合二区| 亚洲 欧美 日韩 精品 自拍| 姐姐不~不可以动漫在线观看| 0951影音在线| 日本A级作爱片金瓶双艳| bt天堂午夜国产精品| 老熟人老女人国产老太| jlzz中国jizz日本老师水多| 年轻老师毛茸茸自由性| 攵女yin乱合集高h| 亚洲人成电影网站在线观看| 免费一区在线观看| 2022精品福利在线小视频| 狂野欧美性猛XXXX乱大交| 不知火舞vs精子| 日本888 xxxx| 黄色三级三级三级免费看| jk制服喷水| 亚洲色婷婷久久精品AV蜜桃久久| 欧美の无码国产の无码影院| 99视频全部看免费观| 亚洲 成人网| 欧美91精品久久久久网免费| 国产色精品久久人妻99蜜桃麻豆| 亚洲AV怡红院AV男人的天堂| 沦为公交两奶头春药高潮迭起| 高hnp全肉| 3D动漫网站HOXXXxes| 校花在公车上被内射好舒服| 国精产品999一区二区三区有限| 99国产精品久久久久久久日本竹| 欧美性XXXXX极品娇小| 丰满少妇69激懒啪啪无码| 一本一本之道高清在线观看| 色内射无码AV| 免费毛片视频网站| 精品无码一区二区三区不卡|