c语言sleep函数_做游戏,学C语言,小球碰撞游戏,菜鸡者从黑窗口到图形化编程...

464c72c96c1599dcb7648ad717ec3fa1.png

CMD黑窗口小球运动

80c1dd93f9455e089ceea67b566f520f.gif

这次教程,我们实现一个弹跳小球。需要学习完基础的变量、运算符、表达式,printf、scanf输入输出函数的用法,if-else、while、for语句的用法。

第1步,显示静止的小球。效果为:

6d472f08c09470bae33653828ef9e259.png

第2步让小球斜着弹跳。主要思路是增加x,y两个方向的速度控制变量,一个碰到上下边界后改变正负号,一个碰到左右边界后改变正负号。

3f54f6c5710e0f94d6f863c3c65fd23a.png

转换为可视化小球运动

4de0da0f627f6fb7e1cb7bc589b70caf.png

未做修饰以及未擦出轨迹效果,代码基本没有什么区别,先看效果。

21ecf22ff0a5075f41307676346221be.gif

源码:

26805f4a2a794a4641fb4648d3342b83.png

修饰后,擦除轨迹后

d2e49103c8bcdeb42da8552448d595e2.gif

完整源码:

440662e3a4bed5121d485cdb211c9d42.png

大家尽量养成良好的编码习惯,上面的边界坐标尽量不要在程序中写数字,可以用定义的变量或常量。这样程序可读性更好,后面也更容易调整。

775bdf2bb27ce4c4dab6c0beb2a8f9c2.png

这里出个思考题,如果没有sleep函数的话,能否利用循环,实现小球速度变慢的效果?

喜欢此篇文章或觉得这篇文章对你有帮助的读者可以点播关注或者转发,

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以关注公众号:【速学C语言】领取全套免费C/C++学习资料、视频 直接扫描下方二维码也可以哦!@所有人

4a68cd9a15f9b0bf68d8a4c94c2b439a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语言五子棋无ai程序框图_2020输入法报告 如何选择更好的AI语音输入法?

不少人认为,现在输入法均已内置语音输入方式,只要是语音输入就没有什么差别。其实不然。近日,Mob研究院发布《2020中国第三方输入法行业洞察》报告,深入挖掘分析语音输入法行业现状及变化趋势。《报告》统计显示,讯飞输…

java lambda表达式详解_Lambda表达式详解

1 Lambda表达式是Java8中的新特性Java8中引入Lambda表达式,使得java可以函数式编程,在并发性能上迈出了实质性的一步。什么是函数式编程?函数式编程(英语:functional programming)或称函数程序设计&#xf…

对应的ctrl_取消单元格合并,对空白单元格填充数据,学会Ctrl+Enter五秒搞定

Excel统计数据过程中,相信大家最不想碰到的就是合并单元格,因为合并区域会对我们的数据统计造成各种麻烦。取消单元格合并后,除第一个单元格有内容外其他的单元格都成了空值。案例说明:如上图所示,我们需要将左边合并单…

pythoncsv文件处理_Python处理ExcelCSV文件

Python处理Excel&CSV文件 前言 在今年很早的时候,写过一篇用 Python 玩 Excel 的文章,可以回顾《Python操作 excel ?应该这么玩!》 当时介绍了用 Pandas 库玩股票,在 Excel 中画出一个图来。 现在有了前几天爬取的…

对比两个字符串相等_字符串匹配问题

0.题目在一个主串S{a, b, c, c, b, c, a, b, d}, 模式串T{a, b, d};请找出模式串在主串中第一次出现的位置提示: 不需要考虑字符串大小写问题,字符均为小写字母第一次在7的位置匹配上1.BF算法Brute-Force算法,简称为 BF算法,是一种简单朴素的…

eclipse 导入maven项目_解决Eclipse导入JAVA WEB项目错误的问题

蓝字关注远浩老师一、 本文问题在开发中不可避免地要涉及导入项目。Eclipse作为常用开发工具,导入JAVA WEB项目文件也很方便,但是我们经常发现导入完的项目有红色的叉来做错误提醒,甚至一些代码也出现错误提示的红线,如下图。 为了…

并发执行变成串行_大神浅谈数据库并发控制 锁和 MVCC

在学习几年编程之后,你会发现所有的问题都没有简单、快捷的解决方案,很多问题都需要权衡和妥协,而本文介绍的就是数据库在并发性能和可串行化之间做的权衡和妥协 - 并发控制机制。如果数据库中的所有事务都是串行执行的&#xff…

docker 部署_Nginx K8s + Docker 部署 ,虚拟机部署教程。

Nginx K8s Docker 部署 ,虚拟机部署教程!Linux 虚拟机 部署1、下载nginx:http://nginx.org/download/2、选择一个版本进行下载:wget http://nginx.org/download/nginx-1.14.0.tar.gz3、解压:tar -xvf nginx-1.14.0.tar.gz4、安装…

双机热备_双机热备软件哪个好?双机热备软件推荐

服务器维护和管理是企业健康稳定运营的一项重要工作,而双机热备可以提供服务器的高可用性。但是成熟好用的双机热备软件有哪些呢?下面就给大家推荐几款。微软MSCSMSCS(Microsoft Cluster Service)实际上是微软自带的,不…

Json和Xml

一、前言 学习心得&#xff1a;C# 入门经典第8版书中的第21章《Json和Xml》 二、Xml的介绍 Xml的含义&#xff1a; 可标记性语言&#xff0c;它将数据以一种特别简单文本格式储存。让所有人和几乎所有的计算机都能理解。 XML文件示例&#xff1a; <?xml version"1.…

ec20驱动_物联网基础:移远EC20固件升级

使用移远 QFlash_V4.14 工具升级移远 EC20 4G模块固件1 准备工作 1.1 EC20 USB驱动安装安装过程参考移远官方手册&#xff1a;《Quectel_LTE&5G_Windows_USB_Driver_安装指导_V1.0.pdf》&#xff0c;有详细USB安装指导&#xff0c;该手册及驱动文件可以去移远官方下载或后续…

的微波感知_上海交大彭志科教授团队研发:微波微动监测与智能感知技术

上海9月18日电(葛俊俊) 准确监测方舱医院大量感染患者的生命状况&#xff0c;精确“诊断”大桥工程结构是否存在安全隐患&#xff0c;随时随地获取独居老人在家的健康体征……上海交通大学彭志科教授团队研发的基于微波感知的微动监测与环境智能前瞻技术&#xff0c;像一种神奇…

win32键盘输入python_python-win32api键盘输入教程

importwin32guiimportwin32conimportwin32api#从顶层窗口向下搜索主窗口&#xff0c;无法搜索子窗口#FindWindow(lpClassNameNone, lpWindowNameNone) 窗口类名 窗口标题名 handle win32gui.FindWindow("Notepad", None)#获取窗口位置 left, top, right, bottom win…

小米笔记本引导修复_知识帖,笔记本电脑不能开机?你可以试试这些办法

大家经常遇到电脑开机不能进入系统的时候是不是特别难受,朝歌后面几篇文章会讲讲一些常见的电脑问题和解决办法啦 前面有一个系列的文章都是在组装电脑的问题,大家感兴趣的可以关注了去主页看看呀 在现在的日常生活里,笔记本电脑对于很多人来说会比台式机重要的多,因为笔记…

java同步锁synchronized_synchronized、锁、多线程同步的原理是咋样的?

先综述个结论&#xff1a;一般说的synchronized用来做多线程同步功能&#xff0c;其实synchronized只是提供多线程互斥&#xff0c;而对象的wait()和notify()方法才提供线程的同步功能。一般说synchronized是加锁&#xff0c;或者说是加对象锁&#xff0c;其实对象锁只是synchr…

ming window 交叉编译_如何在Linux for Windows上与MinGW交叉编译?

我正在尝试使用MinGW在Linux上编译Windows的Qt5应用程序.我正在使用Travis-CI来获得两个Windows可执行文件(win32,win64)的连续构建.我已经建立了一个构建矩阵,其中包含不同MinGW依赖项的定义.安装前部分定义了Qt,MinGW和gcc依赖项.在安装期间获取包.这是我的.travis.yml&#…

pacman 查询_掌握pacman包管理工具,玩转Arch Linux

前言在Arch/Manjaro系统中&#xff0c;包管理是使用pacman进行管理的。常用命令列出已经安装的软件包pacman -Q查看virtualbox包是否已经安装pacman -Q virtualbox查看已安装的包virtualbox的详细信息pacman -Qi virtualbox列出已安装包virtualbox的所有文件pacman -Ql virtual…

python追加_如何在Python中追加文件?

慕田峪7331174 您需要在附加模式下打开文件&#xff0c;方法是将“a”或“ab”设置为模式。见open&#xff08;&#xff09;。使用“a”模式打开时&#xff0c;写入位置将始终位于文件末尾&#xff08;附加&#xff09;。您可以使用“a ”打开以允许读取&#xff0c;向后搜索和…

系统相机裁剪比例_拍不出好照片,你缺的不是好手机而是相机设置的秘笈

玩转手机摄影&#xff0c;每天分享原创的手机摄影教程&#xff0c;手机相机功能、人像、风光、夜景、创意拍摄技巧&#xff0c;还有后期调色、修图等教程&#xff0c;欢迎感兴趣的朋友点击右上角&#xff0c;关注我们&#xff01;--------------------------------------------…

python给函数添加属性_如何在python中自动向类添加属性?

我有一个具有很多属性的类&#xff0c;这些属性在instanciating(init)时提供。看起来像这样&#xff0c;但还有大约30个attr&#xff1a;class SomeObject:def __init__(self,first,second):self.first firstself.second second工作正常&#xff0c;但很长很重复&#xff0c;…