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

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

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

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

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

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

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

游戲介紹:

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

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

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

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

源代碼示例:

#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};/*鉤子擺動狀態(tài),擺動,伸長,縮短,停止*/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;//鉤子當前角度  int dir;//鉤子擺動方向,左,右  int vx;//速度變化量  int vy;  int state;//當前狀態(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];//把圖片加載進程序 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);//設置背景透明  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);}//鉤子擺動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(){  //控制臺窗口(只能用來輸出文字)  //我們需要能夠畫圖的窗口  initgraph(WIDTH, HEIGHT, SHOWCONSOLE);  gameInit();
  while (1)  {    //雙緩沖繪圖,防止閃屏    BeginBatchDraw();    gameDraw();    EndBatchDraw();    hookRock();    keyControl(5);  }  return 0;}

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

    關注

    180

    文章

    7614

    瀏覽量

    137467
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68916

原文標題:C語言項目實戰(zhàn):《黃金礦工》零基礎項目!180 行源代碼示例

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

收藏 人收藏

    評論

    相關推薦

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

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

    基于FPGA實現(xiàn)圖像直方圖設計

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

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

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

    C語言與Java語言的對比

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

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

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

    PLC編程語言C語言的區(qū)別

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

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

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

    使用C語言實現(xiàn)的CRC計算單元的例子

    使用C語言實現(xiàn)的CRC計算單元的例子
    的頭像 發(fā)表于 05-16 16:16 ?1049次閱讀

    嵌入式編程,如何用 C 語言實現(xiàn)狀態(tài)機設計?

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

    C語言實現(xiàn)Web參數(shù)傳遞

    電子發(fā)燒友網(wǎng)站提供《C語言實現(xiàn)Web參數(shù)傳遞.docx》資料免費下載
    發(fā)表于 03-24 09:14 ?2次下載

    fpga語言是什么?fpga語言c語言的區(qū)別

    功能,從而實現(xiàn)對數(shù)字電路的高效定制。FPGA語言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,這些語言具有強大的描述能力,能夠精確地定義硬件的每一個細節(jié),從而
    的頭像 發(fā)表于 03-15 14:50 ?999次閱讀

    嵌入式系統(tǒng)中C語言結(jié)構(gòu)體的基礎實現(xiàn)與應用

    C語言中的數(shù)組只能允許程序員定義存儲相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲不同數(shù)據(jù)類型的數(shù)據(jù)。
    發(fā)表于 03-12 14:29 ?543次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結(jié)構(gòu)體的基礎<b class='flag-5'>實現(xiàn)</b>與應用

    plc編程語言c語言的聯(lián)系 c語言和PLC有什么區(qū)別

    PLC編程語言C語言的聯(lián)系 PLC(可編程邏輯控制器)是一種針對自動化控制系統(tǒng)的特殊計算機。PLC編程語言是為了控制和管理自動化生產(chǎn)過程中的各種設備而設計的。與之相比,
    的頭像 發(fā)表于 02-05 14:21 ?4351次閱讀

    c語言,c++,java,python區(qū)別

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

    vb語言c++語言的區(qū)別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級編程語言,但在設計和用途上有很多區(qū)別。下面將詳細比較VB
    的頭像 發(fā)表于 02-01 10:20 ?2481次閱讀
    主站蜘蛛池模板: 久久精品国产色蜜蜜麻豆国语版 | 久cao在线香蕉 | 娇妻在床上迎合男人 | 香蕉eeww99国产精选播放 | 色偷偷男人天堂 | 先锋影音av无码第1页 | 暖暖的高清视频在线观看免费中文 | 色欲午夜无码久久久久久 | 5g在线视讯年龄确认海外禁止进入 | 国产成人一区二区三中文 | qvod12| 老师的蕾丝小内内湿透了 | 亚洲欧美日韩国产另类电影 | 久在线观看福利视频 | xxxxxl荷兰| 久久99国产精品自在自在 | 春水福利app导航 | 与子敌伦刺激对白亂輪亂性 | 欧美成人中文字幕在线视频 | 少妇邻居内射在线 | 亚洲日韩国产精品乱-久 | 99久久无码热高清精品 | 午夜精品久久久内射近拍高清 | 日韩娇小性hd| 长篇高h肉爽文丝袜 | 日韩精品亚洲专区在线电影不卡 | 视频在线观看高清免费看 | 久久亚洲国产精品亚洲 | 国产麻豆精品久久一二三 | 黄色三级视频在线观看 | 无码AV免费精品一区二区三区 | s8sp视频高清在线播放 | 40分钟超爽大片黄 | 99久久全国免费久久爱 | 中文人妻熟妇精品乱又伦 | 久久久久国产精品美女毛片 | 亚洲AV无码一区二区色情蜜芽 | 公么我好爽再深一点 | TUBE8最新日本护士 | 国产呦精品一区二区三区下载 | 亚洲欧洲日韩天堂无吗 |