女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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ǔ)言項(xiàng)目:接球小游戲(自制)!詳細(xì)思路+源碼分享

C語(yǔ)言編程學(xué)習(xí)基地 ? 來(lái)源:C語(yǔ)言編程學(xué)習(xí)基地 ? 2023-01-09 11:00 ? 次閱讀

每天一個(gè)C語(yǔ)言小項(xiàng)目,提升你的編程能力!

用VS寫了一個(gè)小小的游戲,在界面右側(cè)有運(yùn)行時(shí)間,接到的小球個(gè)數(shù)等信息,有 10 個(gè)小球下落,玩家可以控制一個(gè)盒子左右移動(dòng)(方向鍵),來(lái)接小球,按 Esc 鍵退出,最后會(huì)顯示接到的小球的數(shù)目/分?jǐn)?shù)。

游戲就是這么簡(jiǎn)單,不過(guò)也很考驗(yàn)大家的反應(yīng)能力的哦!

游戲運(yùn)行截圖如下:

c19d37de-8e5d-11ed-bfe3-dac502259ad0.png

簡(jiǎn)單了解游戲后我們就來(lái)試試吧!

本項(xiàng)目編譯環(huán)境:Visual Studio 2019/2022,EasyX插件

代碼展示:

#include 
#include 
#include 
#include 


// 定義常量
#define NUM 10
#define  CMD_LEFT    1
#define  CMD_RIGHT    2
#define  CMD_QUIT    4


int box_x = 10;
int box_y = 420;


// 定義球的結(jié)構(gòu)體
struct Ball
{
  int x, y, v;
};


// 獲取用戶控制
int GetCommand()
{
  int c = 0;
  if (GetAsyncKeyState(VK_LEFT) & 0x8000)    c |= CMD_LEFT;
  if (GetAsyncKeyState(VK_RIGHT) & 0x8000)  c |= CMD_RIGHT;
  if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)  c |= CMD_QUIT;


  return c;
}


// 倒計(jì)時(shí)
int Time(int t)
{
  char strsec[10];
  int sec = 20 - (GetTickCount() - t) / 1000;
  itoa(sec, strsec, 10);
  outtextxy(570, 110, "      ");
  outtextxy(570, 110, strcat(strsec, "s"));
  return sec;
}


// 介紹
void menu()
{
  line(449, 0, 449, 480);
  char runTime[] = "游戲倒計(jì)時(shí)     : ",
    receiveBallNum[] = "接到的球的數(shù)量:", copyRight[] = "版權(quán)所有:C語(yǔ)言編程",
    finishWorkDate[] = "完成日期:2023年1月7日",
    introductiona[] = "按方向鍵控制盒子移動(dòng)接住", introductionb[] = "小球,倒計(jì)時(shí)為0時(shí)游戲結(jié)束";


  settextcolor(GREEN);
  outtextxy(450, 10, introductiona);
  outtextxy(450, 30, introductionb);
  outtextxy(450, 110, runTime);
  outtextxy(450, 210, receiveBallNum);
  outtextxy(450, 310, copyRight);
  outtextxy(450, 410, finishWorkDate);
}


// 產(chǎn)生隨機(jī)球
void ballRandom(Ball ball[], int i)
{
  ball[i].x = 16 + 45 * i;
  ball[i].y = 8 + rand() % 32;
  ball[i].v = 1 + rand() % 5;
}


// 畫球,并計(jì)算得分
void calculateScore(Ball ball[], int& score)
{
  for (int i = 0; i < NUM; i++)
  {
    fillcircle(ball[i].x, ball[i].y, 8);
    if (ball[i].y >= 472)
    {
      ballRandom(ball, i);
      continue;
    }
    if (box_x + 8 <= ball[i].x && ball[i].x <= box_x + 72 && ball[i].y >= 412)
    {
      score++;
      ballRandom(ball, i);
    }
  }
}


// 主函數(shù)
int main()
{
  // 初始化
  initgraph(640, 480);
  srand(time(NULL));
  BeginBatchDraw();
  setlinecolor(GREEN);
  setfillcolor(WHITE);


  menu();


  Ball ball[NUM];
  int dx, i, c, score = 0;
  bool flag = true;


  for (i = 0; i < NUM; i++)
  {
    ballRandom(ball, i);
  }


  int t = GetTickCount();
  char strScore[10], str[] = "your score:";


  // 游戲主循環(huán)
  while (flag)
  {
    dx = 0;


    // 顯示得分
    char strScore[10];
    itoa(score, strScore, 10);
    outtextxy(570, 210, strScore);


    // 畫球,并計(jì)算得分
    calculateScore(ball, score);


    // 畫盒子
    fillrectangle(box_x, box_y, box_x + 80, box_y + 60);
    FlushBatchDraw();


    // 獲取用戶控制命令
    c = GetCommand();
    if (c & CMD_LEFT)  dx = -10;
    if (c & CMD_RIGHT)  dx = 10;
    if (c & CMD_QUIT)  flag = false;
    if (!Time(t)) flag = false;


    // 延時(shí)
    Sleep(25);


    // 擦除游戲區(qū)
    clearrectangle(0, 0, 448, 480);


    // 計(jì)算球的新坐標(biāo)
    for (i = 0; i < NUM; i++)
    {
      ball[i].y += ball[i].v;
    }


    // 移動(dòng)盒子
    box_x += dx;
    if (box_x < 0)   box_x = 0;
    if (box_x > 368) box_x = 368;
  }


  // 清空鍵盤緩沖區(qū)
  FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));


  // 輸出游戲結(jié)果
  itoa(score, strScore, 10);
  outtextxy(222, 240, strcat(str, strScore));
  outtextxy(220, 300, "按任意鍵退出");
  EndBatchDraw();


  // 按任意鍵退出
  getch();
  closegraph();


  return 0;
}

大家趕緊去動(dòng)手試試吧!

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

    關(guān)注

    2

    文章

    767

    瀏覽量

    26690
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140256
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3679

    瀏覽量

    94862
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    667

    瀏覽量

    30136

原文標(biāo)題:C語(yǔ)言項(xiàng)目:接球小游戲(自制)!詳細(xì)思路+源碼分享

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

收藏 人收藏

    評(píng)論

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

    C語(yǔ)言十字消除游戲詳細(xì)思路+源碼分享

    十字消除,休閑小游戲,在規(guī)定時(shí)間內(nèi),只要是十字線能連接到的相同顏色的方塊,就能獲得相應(yīng)的得分,如果點(diǎn)擊后沒有能夠消除的方塊會(huì)扣除時(shí)間,是一款益智小游戲
    發(fā)表于 11-28 10:45 ?1240次閱讀

    llabview黑白棋小游戲制作詳細(xì)解析

    `相關(guān)課程推薦:《8周LabVIEW視覺項(xiàng)目編程實(shí)戰(zhàn)特訓(xùn)營(yíng)》上面這張是效果圖編寫這樣一個(gè)界面可以使用到多種不同的思路和技巧,我會(huì)按照從簡(jiǎn)到繁的順序,分幾次來(lái)介紹幾個(gè)不同的方法。 講由NI 軟件工程師阮奇楨為您講解。llabview黑白棋
    發(fā)表于 11-23 15:44

    最受歡迎Labview小游戲(程序?qū)崿F(xiàn)資料下載)

    一個(gè)界面可以使用到多種不同的思路和技巧,我會(huì)按照從簡(jiǎn)到繁的順序,分幾次來(lái)介紹幾個(gè)不同的方法。 講由NI 軟件工程師阮奇楨為您講解。labview黑白棋小游戲制作詳細(xì)解析:`
    發(fā)表于 04-14 20:11

    C語(yǔ)言小游戲源碼分享

    C語(yǔ)言小游戲源碼24點(diǎn)火柴人俄羅斯等等等35個(gè)游戲源碼網(wǎng)盤分享鏈接:https://pan.ba
    發(fā)表于 04-12 17:11

    利用C語(yǔ)言來(lái)編寫打地鼠小游戲

    C語(yǔ)言模擬打地鼠小游戲
    的頭像 發(fā)表于 01-26 14:55 ?1.6w次閱讀

    基于Labview的小游戲飛天忍者貓源碼

    基于Labview的小游戲飛天忍者貓源碼
    發(fā)表于 11-15 18:22 ?69次下載

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:打字母游戲詳細(xì)思路+源碼分享

    今天就用C語(yǔ)言寫了這么個(gè)打字母的小程序,就是以前學(xué)習(xí)機(jī)上那種字母往下掉,然后按相應(yīng)鍵字母消失的游戲
    發(fā)表于 12-15 15:02 ?841次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:迷宮游戲詳細(xì)思路+源碼分享

    每天一個(gè)C語(yǔ)言項(xiàng)目,提升你的編程能力!
    的頭像 發(fā)表于 12-21 10:08 ?1341次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目自制軍棋游戲詳細(xì)思路+源碼分享

    每天一個(gè)C語(yǔ)言項(xiàng)目,提升你的編程能力!
    的頭像 發(fā)表于 12-29 17:14 ?8854次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:吃豆人小游戲詳細(xì)思路+源碼分享

    《吃豆游戲》是一款休閑小游戲,和貪吃蛇,球球大作戰(zhàn)吃食物都是有差不多的游戲邏輯。
    的頭像 發(fā)表于 01-03 11:38 ?1943次閱讀

    C語(yǔ)言零基礎(chǔ)項(xiàng)目:連連看小游戲

    連連看小游戲速度節(jié)奏快,畫面清晰可愛,適合細(xì)心的玩家。豐富的道具和公共模式的加入,增強(qiáng)游戲的競(jìng)爭(zhēng)性。多樣式的地圖,使玩家在各個(gè)游戲水平都可以尋找到挑戰(zhàn)的目標(biāo),長(zhǎng)期地保持游戲的新鮮感。
    的頭像 發(fā)表于 01-04 15:28 ?1050次閱讀

    C語(yǔ)言項(xiàng)目:扔香蕉的大猩猩(自制游戲)!詳細(xì)思路+源碼分享

    網(wǎng)上有一個(gè)香蕉金剛的跑酷游戲,不過(guò)我們這個(gè)扔香蕉游戲模仿的并不是這個(gè),而是模仿的微軟在 20 多年前的一個(gè)小游戲,不知道誰(shuí)也有印象呢?
    的頭像 發(fā)表于 01-06 10:58 ?1002次閱讀

    C語(yǔ)言項(xiàng)目:礦井逃生游戲(密室)!詳細(xì)思路+源碼分享

    密室逃脫相信大部分都玩過(guò)了吧?本游戲就是一種用C語(yǔ)言寫的類似的游戲,因?yàn)橛檬蛛娡舱彰髡衣罚杂悬c(diǎn)像礦工的樣子,還是叫它礦井逃生吧!(以下是游戲
    的頭像 發(fā)表于 01-07 09:41 ?1682次閱讀

    C語(yǔ)言小游戲源碼大放送

    電子發(fā)燒友網(wǎng)站提供《C語(yǔ)言小游戲源碼大放送.rar》資料免費(fèi)下載
    發(fā)表于 11-21 10:36 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>小游戲</b><b class='flag-5'>源碼</b>大放送

    FPGA打磚塊小游戲設(shè)計(jì)思路

    ? 交流問題 ? Q :FPGA打磚塊小游戲,如何基于FPGA用verilog語(yǔ)言在Vivado平臺(tái)上寫打磚塊小游戲,最好能用到PS2與VGA。 A :以下是一個(gè)基于 FPGA? Verilog
    的頭像 發(fā)表于 12-09 16:57 ?786次閱讀