99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何用C語言實(shí)現(xiàn)黃金礦工項(xiàng)目

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

掃碼添加小助手

加入工程師交流群

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

游戲介紹:

在規(guī)定的時(shí)間內(nèi)得到規(guī)定的金錢時(shí)即可。玩法非常簡單,按“↓”鍵開使撈金子,如有***,按“↑”鍵放***,買東西點(diǎn)鼠標(biāo)左鍵。不過本游戲之設(shè)計(jì)到鉤子勾金子的程度,后面的關(guān)卡大家可以自行設(shè)計(jì),相信能夠設(shè)計(jì)金子了,鉆石的話同理還是非常簡單的。

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

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

配套講解教程:黃金礦工游戲教程——嗶哩嗶哩

源代碼示例:

#include#include#include#define WIDTH 1080#define HEIGHT 640#define PI 3.1415#define MAX_ANGLE 80enum Index{  i_gold = 1,  i_money = 3,  i_roleDown = 5,  i_roleUp = 7,  i_stone = 9};/*鉤子擺動(dòng)狀態(tài),擺動(dòng),伸長,縮短,停止*/enum ATTR{  LEFT,  RIGHT,
  M_NORMAL,  M_LONG,  M_SHORT};struct Role{  int x;  int y;  int width;  int height;  int coin; //總金錢};struct Hook{  int x;  int y;  int endx;  int endy;  int len;//鉤子長度  double angle;//鉤子當(dāng)前角度  int dir;//鉤子擺動(dòng)方向,左,右  int vx;//速度變化量  int vy;  int state;//當(dāng)前狀態(tài)};struct Role role;struct Hook hook;struct Mine//物品{  int x;  int y;  int size;  int type;  bool flag;  int gold;};struct Mine mine[10];//把圖片加載進(jìn)程序 IMAGE img[11];void loadImg(){  for (int i = 0; i < 10; i++)  {    //如何把數(shù)字,轉(zhuǎn)成字符串    char fileName[20] = "";    sprintf(fileName, "./images/%d.jpg", i);    loadimage(img + i, fileName);  }  loadimage(img+10,"./images/bk.jpg",WIDTH,HEIGHT);}void gameInit(){  loadImg();  role.width = 140;  role.height = 120;  role.x = WIDTH / 2 - role.width / 2;  role.y = 0;
  hook.len = 50;  hook.x = role.x+40;  hook.y = role.y+100;  hook.endx = hook.x;  hook.endy = hook.y + hook.len;  hook.angle = 0;  hook.dir = RIGHT;  hook.state = M_NORMAL;}void gameDraw(){  setfillcolor(GREEN);  solidrectangle(0, 0, WIDTH, role.height);  putimage(0, role.height, img + 10);  putimage(role.x, role.y, img + i_roleDown - 1, SRCAND);  putimage(role.x, role.y, img + i_roleDown, SRCPAINT);  //輸出我的錢  setbkmode(TRANSPARENT);//設(shè)置背景透明  settextstyle(50, 0, "黑體");  char coin[20] = "";  sprintf(coin, "金錢:%d", role.coin);  outtextxy(20, 20, coin);  //繪制鉤子  setlinecolor(RED);  setlinestyle(PS_SOLID, 5);  line(hook.x, hook.y, hook.endx, hook.endy);  setfillcolor(YELLOW);  solidcircle(hook.endx, hook.endy, 5);}//鉤子擺動(dòng)void hookRock(){  if (hook.state == M_NORMAL)  {    if (hook.dir == RIGHT)    {      hook.angle++;    }    else if (hook.dir == LEFT)    {      hook.angle--;    }    if (hook.angle > MAX_ANGLE)    {      hook.dir = LEFT;    }    else if (hook.angle<-MAX_ANGLE)    {      hook.dir = RIGHT;    }
    hook.endx = hook.x + sin(PI / 180 * hook.angle)*hook.len;    hook.endy = hook.y + cos(PI / 180 * hook.angle)*hook.len;  }  }double distance(Hook h){  return sqrt((double)(hook.endx - hook.x)*(hook.endx - hook.x) + (hook.endy - hook.y)*(hook.endy - hook.y));}void keyControl(int speed){  if (GetAsyncKeyState(VK_SPACE))//virtual key  {    hook.state = M_LONG;    hook.vx = sin(PI / 180 * hook.angle)*speed;    hook.vy = cos(PI / 180 * hook.angle)*speed;  }  if (hook.state == M_LONG)  {    hook.endx += hook.vx;    hook.endy += hook.vy;  }  else if (hook.state==M_SHORT)  {    hook.endx -= hook.vx;    hook.endy -= hook.vy;    if (distance(hook)<=hook.len)    {      hook.state =M_NORMAL;    }  }  //碰到邊界反回  if (hook.endx<0 || hook.endx>WIDTH || hook.endy<0 || hook.endy > HEIGHT)  {    hook.state = M_SHORT;  }}int main(){  //控制臺(tái)窗口(只能用來輸出文字)  //我們需要能夠畫圖的窗口  initgraph(WIDTH, HEIGHT, SHOWCONSOLE);  gameInit();
  while (1)  {    //雙緩沖繪圖,防止閃屏    BeginBatchDraw();    gameDraw();    EndBatchDraw();    hookRock();    keyControl(5);  }  return 0;}

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

    關(guān)注

    180

    文章

    7632

    瀏覽量

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

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70697

原文標(biāo)題:C語言項(xiàng)目實(shí)戰(zhàn):《黃金礦工》零基礎(chǔ)項(xiàng)目!180 行源代碼示例

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

    單片機(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)分享

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

    PID控制算法的C語言實(shí)現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無愧的萬能算法,如果能夠熟練掌握 PID 算法的設(shè)計(jì)與實(shí)現(xiàn)過程,對于一般的研發(fā)人員來講,應(yīng)該是足夠應(yīng)對一般研發(fā)問題了,而難能可貴
    發(fā)表于 02-26 15:24

    基于STM32單片機(jī)礦井礦工作業(yè)安全監(jiān)測設(shè)計(jì)

    項(xiàng)目設(shè)計(jì)一個(gè)基于STM32單片機(jī)的礦井作業(yè)安全監(jiān)測系統(tǒng)。該系統(tǒng)能夠?qū)崟r(shí)監(jiān)測礦井的環(huán)境參數(shù),并通過智能控制系統(tǒng)進(jìn)行調(diào)節(jié),如溫濕度調(diào)節(jié)、氣體排放、警報(bào)提示等,確保礦工的作業(yè)環(huán)境符合安全標(biāo)準(zhǔn)。系統(tǒng)還支持無線數(shù)據(jù)傳輸和遠(yuǎn)程控制,通過手機(jī)APP或云平臺(tái)
    的頭像 發(fā)表于 01-17 16:45 ?914次閱讀

    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)

    AKI跨語言調(diào)用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    量;某知名社交電商平臺(tái)使用后減少了50%以上跨語言調(diào)用接口代碼量;某圖像處理軟件所有C++代碼復(fù)用通過AKI來實(shí)現(xiàn)。使用AKI后這些項(xiàng)目不僅減少了項(xiàng)
    發(fā)表于 01-02 17:08

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

    直方圖統(tǒng)計(jì)的原理 直方圖統(tǒng)計(jì)從數(shù)學(xué)上來說,是對圖像中的像素點(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 ?776次閱讀
    基于FPGA<b class='flag-5'>實(shí)現(xiàn)</b>圖像直方圖設(shè)計(jì)

    金礦業(yè)與億緯鋰能達(dá)成戰(zhàn)略合作

    近日,紫金礦業(yè)集團(tuán)股份有限公司(以下簡稱“紫金礦業(yè)”)董事長陳景河與惠州億緯鋰能股份有限公司(以下簡稱“億緯鋰能”)董事長劉金成博士正式會(huì)面,并就雙方戰(zhàn)略合作進(jìn)行深入交流。
    的頭像 發(fā)表于 12-09 15:56 ?610次閱讀

    使用C語言實(shí)現(xiàn)函數(shù)模板

      用C語言能不能實(shí)現(xiàn)一個(gè)通用的函數(shù),既能完成整數(shù)的相加,又能完成浮點(diǎn)數(shù)的相加?
    的頭像 發(fā)表于 11-09 11:38 ?945次閱讀

    C語言中的socket編程基礎(chǔ)

    Socket編程簡介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語言中,socket編程是網(wǎng)絡(luò)編程的基礎(chǔ)。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)不同計(jì)算機(jī)之間的通信
    的頭像 發(fā)表于 11-01 16:51 ?1221次閱讀

    C語言與Java語言的對比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨(dú)特的優(yōu)勢和特點(diǎn),適用于不同的應(yīng)用場景。以下將從語法特性、內(nèi)存管理、跨平臺(tái)性、性能、應(yīng)用領(lǐng)域等多個(gè)方面對C
    的頭像 發(fā)表于 10-29 17:31 ?1069次閱讀

    何用 S7-200 實(shí)現(xiàn) Modbus 通信?

    電子發(fā)燒友網(wǎng)站提供《如何用 S7-200 實(shí)現(xiàn) Modbus 通信?.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:22 ?2次下載