easyx实现小球移动
2024-10-09 05:06:42
easyx是一个针对VC++编译器的图形化插件。使用它,可以使得在C++中编写图形程序。
小球移动代码:
#include"stdafx.h"
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h> int main(){
initgraph(640, 480);
char ch; int now_x=200,now_y=200; for(;;){
circle(now_x,now_y,15);
ch=_getch();
if(ch=='A')now_x-=10;
else if(ch=='S')now_y+=10;
else if(ch=='W')now_y-=10;
else if(ch=='D')now_x+=10;
cleardevice(); } closegraph();
return 0;
}
注:
1.stdafx.h是VC++新建工程时默认加入的头文件
2.initgraph用于创建窗口
3.根据getch()的结果进行移动小球
4.每次得到按键之后清屏(即cleardevice()函数),然后使用circle画新的圆
效果演示:
简单小游戏:
小球移动,掉落到地面上就GAME OVER,如果球碰到右上角的球就胜利。(球在没有控制的情况下会不断向下掉落)
使用WASD控制
#include"stdafx.h"
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h> int main(){
initgraph(640, 480);
char ch; int now_x=200,now_y=200; int t=clock(); circle(30,400,15);
for(;;){
circle(now_x,now_y,15);
if(_kbhit()){
ch=_getch();
if(ch=='A')now_x-=10;
else if(ch=='S')now_y+=10;
else if(ch=='W')now_y-=10;
else if(ch=='D')now_x+=10;
}
else if(clock()-t>100){
t=clock();
now_y+=10;
if(now_y>480)now_y=480;
}
cleardevice();
circle(400,30,15); if(now_x==400 && now_y==30)goto win;
if(now_y>=480)goto lose;
} win:
cleardevice();
TCHAR s[]=_T("YOU WIN");
outtextxy(200,200,s);
for(;;);
closegraph();
return 0;
lose:
cleardevice();
TCHAR st[]=_T("GAME OVER");
outtextxy(200,200,st);
for(;;);
closegraph();
return 0;
}
最新文章
- mysql 查询去重 distinct
- Normalize.css – 现代 Web 开发必备的 CSS resets
- 批量删除亚马逊kindle云端文档
- G面经prepare: set difference
- 修改Intellij Idea 创建maven项目默认Java编译版本
- JS读取UserAgent信息并做判断
- 核心概念 &mdash;&mdash; 门面(Facades)
- (89C51)定时器计时1s
- [译]ASP.NET Core 2.0 依赖注入
- Windows7安装Bitvise开启ssh服务
- Hadoop:hdfs文件permission denied问题解析
- leetcode240
- 转角遇见——Software
- expdp和impdp导入和导出数据
- Java JDBC的基础知识(五)
- .Net 如何实现 LINQ~
- Docker学习--docker的基本认识
- NFS服务端+客户端配置
- Ryu学习总结(持续更新)
- better-scroll在vue中的应用