木木在哭泣 2022-08-06 08:43 采纳率: 93%
浏览 38
已结题

输出子弹动态弹射,按任意键退出循环

问题遇到的现象和发生背景

img

img

问题相关代码,请勿粘贴截图

#include<graphics.h>
#include<conio.h>
#include"EasyXPng.h"
#define WIDTH 560
#define HEIGHT 800

struct Bullet
{
IMAGE im_bullet;
float x,y;
float vx,vy;
float radius;
};

IMAGE im_bk,im_bullet;
Bullet bullet;

void startup()
{
loadimage(&im_bk,_T(".\background.png"));
loadimage(&im_bullet,_T(".\bullet.png"));
bullet.x=WIDTH/2;
bullet.y=HEIGHT/2;
bullet.vx=2;
bullet.vy=2;
bullet.im_bullet=im_bullet;
bullet.radius=im_bullet.getwidth()/2;

initgraph(WIDTH,HEIGHT);
BeginBatchDraw();

}

void show()
{
putimage(0,0,&im_bk);
putimagePng(bullet.x-bullet.radius,bullet.y-bullet.radius,
&bullet.im_bullet);
FlushBatchDraw();
Sleep(10);
}

void updateWithoutInput()
{
bullet.x+=bullet.vx;
bullet.y+=bullet.vy;
if(bullet.x<=0||bullet.x>=WIDTH)
bullet.vx=-bullet.vx;
if(bullet.y<=0||bullet.y>=HEIGHT)
bullet.vy=-bullet.vy;
}

int main()
{
startup();
while(1)
{
show();
updateWithoutInput();
if(_getch())
return 1;
else
return 0;

}
return 0;

}

我想要达到的结果

输出子弹动态弹射,按任意键退出循环。

img

  • 写回答

2条回答 默认 最新

  • 木木在哭泣 2022-08-06 08:47
    关注

    图片补充

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 已采纳回答 8月11日
  • 创建了问题 8月6日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line