C++图形开发(4):下落的小球

2023-10-29 00:59
文章标签 c++ 开发 图形 小球 下落

本文主要是介绍C++图形开发(4):下落的小球,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1.小球自上而下依次出现
  • 2.下落的小球低配版
  • 3.下落的小球高配版

1.小球自上而下依次出现

首先,我们来使小球自上而下依次出现:
分析:要使小球自上而下依次出现,也就是指在一个小球出现之后让程序暂停一段时间,再执行下一步操作。
这就需要用到Sleep()函数了
Sleep()函数的作用是使当前线程暂停执行一段时间,让出CPU给其他线程或进程使用,以达到节约资源的目的。在调用Sleep()函数时,传入的参数表示线程需要暂停的时间(单位为毫秒),当时间结束后,线程会被自动唤醒,继续执行下一条语句。Sleep()函数通常用于控制程序执行速度、实现定时任务等场景。
其格式为:

Sleep(时间);//时间单位为毫秒(1000ms=1s)

接着,我们把坐标图画出来:
在这里插入图片描述
综上可得,画一个小球并执行等待命令的代码如下:

fillcircle(30,100,20);
Sleep(1000);

那么要画五个小球,我们就可以使用一个for循环来实现:(关于for循环详见:C++爱好者的自我修养(7):for循环语句)

int a = 100;
for(int i=0;i<=5;i++){fillcircle(300, a, 20);//此处的a用于确定不同小球的y轴坐标Sleep(1000);a = a + 100;}

整个代码就是:

#include<graphics.h> 
#include<conio.h>
#include<stdio.h>int main(){int a = 100;initgraph(600, 600);for(int i=0;i<5;i++){fillcircle(300, a, 20);Sleep(1000);a = a + 100;}_getch();closegraph();}

为方便调整,也可以写成:

#include<graphics.h> 
#include<conio.h>
#include<stdio.h>int main(){int a = 100;int step = 100;initgraph(600, 600);for(int i=0;i<5;i++){fillcircle(300, a, 20);Sleep(1000);a = a + step;}_getch();closegraph();}

效果:
在这里插入图片描述

2.下落的小球低配版

在刚才我们已经成功制作了 一个让小球自上而下出现的动画,那么我们就只需要再配合上cleardevice()清屏函数来实现清屏的效果,从而得到一个下落的小球:

#include<graphics.h> 
#include<conio.h>
#include<stdio.h>int main(){int a = 100;int step = 100;initgraph(600, 600);for(int i=0;i<5;i++){cleardevice();fillcircle(300, a, 20);Sleep(1000);a = a + step;}_getch();closegraph();}

效果:
在这里插入图片描述

3.下落的小球高配版

如果要实现更真实的小球下落呢?
我们就可以用while语句来营造一个死循环:(关于while语句详见:C++爱好者的自我修养(3):while循环语句以及while循环语句中break语句与continue语句的使用)

int a = 50;
while(1){a ++;//++是自增运算符,相当于a = a + 1;cleardevice();fillcircle(300,a,20);Sleep(10);
}

整段代码就是:

#include<graphics.h> 
#include<conio.h>
#include<stdio.h>int main(){int a = 50;initgraph(600, 600);while (1) {a++;cleardevice();fillcircle(300, a, 20);Sleep(10);}_getch();closegraph();}

效果:

在这里插入图片描述

这篇关于C++图形开发(4):下落的小球的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/297194

相关文章

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06