easyx实现小球移动
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;
}

easyx实现小球移动的更多相关文章
- 【webGl】threejs实现一个简单的动画-弹跳的小球
在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...
- HTML5 Canvas彩色小球碰撞运动特效
脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ ...
- 纯CSS3实现3D跳动小球
请使用Chrome,火狐的浏览器查看本页面,使用IE将看不到效果.如果在本页看不到一个跳动的小球,请确定您的浏览器支持CSS3,或者访问http://keleyi.com/a/bjac/iphgrtq ...
- HTML5 随机弹跳的小球
查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...
- WPF实现物理效果 拉一个小球
一直以来都对物理效果有神秘感,完全不知道怎么实现的.直到看到了周银辉在老早前写的一篇博客:http://www.cnblogs.com/zhouyinhui/archive/2007/06/23/79 ...
- HTML5CSS3特效-上下跳动的小球-遁地龙卷风
(-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...
- 【web前端学习部落22群】分享 碰撞的小球开源小案例
对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...
- 在visual studio2015中使用easyX画图
配置:解压EasyX压缩包: 将文件内的include,lib,lib/amd64下的文件拷贝到visualstudio中VC文件夹内对应的地方: 然后再执行上图中的Setup.hta进行安装: 在v ...
- easyx与VS2015
7.10 之前在文件头将__acrt_iob_func重定义&__iob_func,在格子涂色的程序中解决了问题:然而在俄罗斯方块的程序中出现了更多的问题,好像是FILE在其他外部依赖项cor ...
随机推荐
- SpringBoot | 4.1 SpringMVC的自动配置
目录 前言 1. SpringMVC框架的设计与流程 1.1 SpringMVC框架的示意图 1.2 SpringMVC的组件流程 2. *自动配置的源码分析 2.1 导入Web场景启动器 2.2 找 ...
- Install Fabric 1.8.3 Manually on Ubuntu 12.04
When you install Fabric with apt-get install fabric, you get a fabric with version 1.3.x, which is t ...
- 一看就会的高效Discuz初始化入门安装方法
在使用Discuz搭建论坛的过程中,小九发现有许多朋友对于宝塔的安装和初始化不太熟悉,找不到适合的方法.或是按照一些教程安装却出现问题得不到解决,只能选择重新再来. 今天,小九给大家介绍简单的镜像一键 ...
- @ImportResource-SpringBoot使用xml配置Bean
前言 SpringBoot推荐使用注解的方式去声明bean,但还是提供了xml的方式去加载bean 一.创建要声明为bean的实体类 WzqEntity.java package com; /** * ...
- MyBatis的useGeneratedKeys使用
业务需求,用户表为主键自增,添加完用户之后,通过用户ID和角色表进行关联. 问题:由于主键自增,所以在用户添加之前是不知道ID的,当然可以通过查询得到当前的ID,不过需要自己多一步操作. 解决方案:使 ...
- spring security 入门级全篇代码
CustomAccessDecisionManager 类 ---------------------------------------------------------------------- ...
- MVVMLight学习笔记(七)---Messenger使用
一.概述 Messenger中文解释为信使的意思,顾名思义,在MvvmLight中,它的主要作用是用于View和ViewModel.ViewModel和ViewModel之间的通信. 考虑以下场景: ...
- 【maven】入门教程
一:Maven简介 1.Maven是什么? 是一个跨平台的项目管理工具.使用java语言开发(Maven 3.3+ require JDK 1.7 or above to execute)2. 为什么 ...
- 【java虚拟机】垃圾回收机制详解
作者:平凡希 原文地址:https://www.cnblogs.com/xiaoxi/p/6486852.html 一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分 ...
- 深入浅出Mybatis系列(六)---配置详解之typeAliases别名
本篇继续讲剩下的配置节点之一:typeAliases. typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名. 例如: 我们在 ...