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实现小球移动的更多相关文章

  1. 【webGl】threejs实现一个简单的动画-弹跳的小球

    在这里,我们将动态画面简称为动画(animation).正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象.而对于Three.js程序而言,动画的实现 ...

  2. HTML5 Canvas彩色小球碰撞运动特效

    脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效.   效果展示 http://hovertree.com/texiao/html5/39/ ...

  3. 纯CSS3实现3D跳动小球

    请使用Chrome,火狐的浏览器查看本页面,使用IE将看不到效果.如果在本页看不到一个跳动的小球,请确定您的浏览器支持CSS3,或者访问http://keleyi.com/a/bjac/iphgrtq ...

  4. HTML5 随机弹跳的小球

    查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ ...

  5. WPF实现物理效果 拉一个小球

    一直以来都对物理效果有神秘感,完全不知道怎么实现的.直到看到了周银辉在老早前写的一篇博客:http://www.cnblogs.com/zhouyinhui/archive/2007/06/23/79 ...

  6. HTML5CSS3特效-上下跳动的小球-遁地龙卷风

    (-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...

  7. 【web前端学习部落22群】分享 碰撞的小球开源小案例

    对于课程中的疑问,大家可以加 web前端学习部落22群 120342833和其他老师还有众多的小伙伴们进行沟通交流哦,群里还有不少技术大拿.行业大牛 可以一起探讨问题,我们也会安排专业的技术老师为大家 ...

  8. 在visual studio2015中使用easyX画图

    配置:解压EasyX压缩包: 将文件内的include,lib,lib/amd64下的文件拷贝到visualstudio中VC文件夹内对应的地方: 然后再执行上图中的Setup.hta进行安装: 在v ...

  9. easyx与VS2015

    7.10 之前在文件头将__acrt_iob_func重定义&__iob_func,在格子涂色的程序中解决了问题:然而在俄罗斯方块的程序中出现了更多的问题,好像是FILE在其他外部依赖项cor ...

随机推荐

  1. SpringBoot | 4.1 SpringMVC的自动配置

    目录 前言 1. SpringMVC框架的设计与流程 1.1 SpringMVC框架的示意图 1.2 SpringMVC的组件流程 2. *自动配置的源码分析 2.1 导入Web场景启动器 2.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 ...

  3. 一看就会的高效Discuz初始化入门安装方法

    在使用Discuz搭建论坛的过程中,小九发现有许多朋友对于宝塔的安装和初始化不太熟悉,找不到适合的方法.或是按照一些教程安装却出现问题得不到解决,只能选择重新再来. 今天,小九给大家介绍简单的镜像一键 ...

  4. @ImportResource-SpringBoot使用xml配置Bean

    前言 SpringBoot推荐使用注解的方式去声明bean,但还是提供了xml的方式去加载bean 一.创建要声明为bean的实体类 WzqEntity.java package com; /** * ...

  5. MyBatis的useGeneratedKeys使用

    业务需求,用户表为主键自增,添加完用户之后,通过用户ID和角色表进行关联. 问题:由于主键自增,所以在用户添加之前是不知道ID的,当然可以通过查询得到当前的ID,不过需要自己多一步操作. 解决方案:使 ...

  6. spring security 入门级全篇代码

    CustomAccessDecisionManager 类 ---------------------------------------------------------------------- ...

  7. MVVMLight学习笔记(七)---Messenger使用

    一.概述 Messenger中文解释为信使的意思,顾名思义,在MvvmLight中,它的主要作用是用于View和ViewModel.ViewModel和ViewModel之间的通信. 考虑以下场景: ...

  8. 【maven】入门教程

    一:Maven简介 1.Maven是什么? 是一个跨平台的项目管理工具.使用java语言开发(Maven 3.3+ require JDK 1.7 or above to execute)2. 为什么 ...

  9. 【java虚拟机】垃圾回收机制详解

    作者:平凡希 原文地址:https://www.cnblogs.com/xiaoxi/p/6486852.html 一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分 ...

  10. 深入浅出Mybatis系列(六)---配置详解之typeAliases别名

    本篇继续讲剩下的配置节点之一:typeAliases. typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名. 例如: 我们在 ...