(图书介绍:https://blog.csdn.net/weixin_49630241/article/details/113548064)

这一章我们将实现小球受重力影响加速下落,碰到地面后反弹的效果。

2 抛物线运动的小球

首先学习EasyX图形库的下载安装,显示一个静止小球;学习整数常量的知识,并绘制多个小球;接着学习整型变量的定义和使用,从而方便修改小球坐标;然后学习while(1)循环和if语句,实现小球下落和反弹;最后学习浮点型变量,实现小球受重力加速下落的效果。

以下为视频教程:

2.1 游戏开发库与静止小球

2.2 利用变量修改多个小球的属性

2.3 while实现小球下落动画

2.4 if实现小球落地反弹

2.5 抛物线运动的小球

最终代码:

#include <graphics.h>
#include <conio.h>
#include <stdio.h>
int main()
{float x,y,vx,vy,g; // 定义一些变量x = 100; // 小球的x坐标y = 200; // 小球的y坐标vx = 8; // 小球x方向速度vy = 0; // 小球y方向速度g = 0.5; // 小球加速度,y方向initgraph(600, 600); // 初始游戏窗口画面,宽600,高600while(1) // 一直循环运行{        cleardevice(); // 清除掉之前绘制的内容vy = vy+g; // 利用加速度g更新vy速度x = x + vx; // 利用x方向速度vx更新x坐标y = y+vy; // 利用y方向速度vy更新y坐标if (y>=580) // 当碰到地面时{vx = 0.98*vx; // x方向速度受阻尼影响变小vy = -0.95*vy; // y方向速度改变方向,并受阻尼影响变小}if (y>580) // 防止小球越过地面y = 580;if (x>=580) // 碰到右边墙,小球x方向速度反向vx = -vx;if (x<=20) // 碰到左边墙,小球x方向速度反向vx = -vx;fillcircle(x, y, 20); // 在坐标(x,y)处画一个半径为20的圆Sleep(10); // 暂停10毫秒}_getch(); // 等待按键closegraph(); // 关闭窗口return 0;
}
 

这一章主要讲解了整数、浮点数常量和变量的定义与使用方法、while(1)循环和if选择判断语句。利用这些较少的知识点,开发了自由落体小球的仿真程序。本章的实现效果,可以用于flappy bird等游戏中的自由落体效果,也可用于愤怒的小鸟等游戏中的抛物线发射效果。

第2章 自由落体的小球(《C和C++游戏趣味编程》配套教学视频)相关推荐

  1. 第12章 坚持一百秒(《C和C++游戏趣味编程》教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将编写坚持一百秒游戏,玩家通过鼠标控制火箭躲避一架UFO和越来越多的反弹子弹,效果如图所示. 首先学习图片的导入和显示,并利 ...

  2. 第4章 旋转蛇(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将绘制非常神奇的错觉图片,静止的圆盘看起来却有在转动的错觉. 首先学习绘制扇形函数和RGB颜色模型,绘制了一个基本单元:然后 ...

  3. 第7章 贪吃蛇(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将编写贪吃蛇游戏,效果如图所示.键盘控制小蛇上下左右移动,吃到食物后长度加一:蛇头碰到自身或窗口边缘,游戏失败. 首先利用全 ...

  4. 第9章 推箱子(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将编写推箱子游戏,玩家键盘控制游戏角色将所有黄色箱子推到白色方块处,效果如图所示. 首先学习字符串与字符数组的概念,并应用字 ...

  5. 《Python游戏趣味编程》 第2章 弹跳的小球

    2 弹跳的小球 图书简介可以看这里: 童晶:<Python游戏趣味编程>新书上架了 Python之所以功能强大,一个原因就是有大量功能强大的库,安装好后即可使用这些库的功能.打开海龟编辑器 ...

  6. python小球在窗口弹来弹去_《Python游戏趣味编程》 第2章 弹跳的小球

    知乎视频​www.zhihu.com 图书简介可以看这里:童晶:<Python游戏趣味编程>新书上架了​zhuanlan.zhihu.com Python之所以功能强大,一个原因就是有大量 ...

  7. c++ 随机字符串_第3章 别碰白块(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将实现一个小球跳跃躲避方块的游戏. 首先学习字符的知识,按空格键控制小球起跳:然后学习矩形的绘制,利用逻辑运算符实现小球和方 ...

  8. 第3章 别碰白块(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将实现一个小球跳跃躲避方块的游戏. 3 别碰白块 首先学习字符的知识,按空格键控制小球起跳:然后学习矩形的绘制,利用逻辑运算 ...

  9. 第13章 祖玛(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将编写祖玛游戏,各种颜色的小球沿着轨道移动,玩家必须阻止小球进入轨道终点的城堡.鼠标可以移动控制炮台旋转.鼠标右键更换小球颜 ...

最新文章

  1. 树莓派如何卸载mysql_树莓派安装MySQL数据库与卸载
  2. sql,插入最大值加1
  3. ES6新特性之了解ES6以及其发展历史
  4. Linux 中vim编辑器学习笔记
  5. 优化matlab作业,现代设计优化算法MATLAB实现
  6. button小手设置 css的cursor
  7. C# 在线培训之零基础入门 01:开篇及C#程序、解决方案的结构
  8. [UI]抽屉菜单DrawerLayout分析(三)
  9. CV学习笔记-特征提取
  10. css中background-position:的属性值为百分比时的用法
  11. SpringCloud 微服务 (七) 服务通信 Feign
  12. Notepad++ 安装jsonview插件
  13. oneno浏览器插件_onenote 插件-onenote clipper for chrome下载 v2.1.3官方版--pc6下载站
  14. 通过ADB命令打开MTK和展讯日志的方法
  15. 特斯拉Model 3进化不止 传统车企到底应该学什么?
  16. 写贺卡给毕业师姐怎么写计算机系的,给师兄师姐的毕业贺卡寄语
  17. paixiao-App技术支持
  18. 惠普服务器bios修改ilo,HPE Gen10 Plus iLO5 BIOS设置固定IP地址
  19. “二进制负数 补码右移和原码算术右移 产生的真值偏差”分析
  20. 联想小新V1000外接R9-380显卡

热门文章

  1. numpy中的argpartition
  2. leetcode44:wildcard
  3. J2EE的13种核心技术简介
  4. day03 Python爬虫
  5. Linux命令行设置环境变量
  6. Swift - Realm数据库的使用详解(附样例)
  7. ExtJS学习之路第三步:理解引擎之下,ExtJS4中的类
  8. 订阅号、服务号与企业号区别
  9. 给你一个亿-电视节目总结
  10. Head First Python 学习笔记(第二章:分享你的代码)