C++的极简字符动画创作
一、本期使用的代码概要
1.头文件:
#include<windows.h>
2.清屏指令:
system("cls")
3.等待指令:
Sleep()
4.[优化项]改变控制台颜色:
system("color ")
二、原理分析
动画即在肉眼难以分辨的时间内通过不断刷新屏幕的方式给人以动态的错觉,我们也可以以这种方式使控制台不断清屏,然后再显示一个外观与前者相似的图片(字符)来实现动画。
三、正片开始
首先,要用到标准输入输出流和一些《神奇的》操作(后面会解释):
#include<iostream>//cin,cout流
#include<windows.h>//神秘代码变得不神秘了
然后输出:
#include<iostream>
#include<windows.h>
using namespace std;//标准命名空间
int main(){cout<<"e";
}
清屏:
#include<iostream>
#include<windows.h>
using namespace std;
int main(){cout<<"e";system("cls");//看到“system”有没有人能猜到怎么回事呢?
}
再输出,循环往复:
#include<iostream>
#include<windows.h>
using namespace std;
int main(){cout<<"e";system("cls");cout<<" e";system("cls");cout<<" e";system("cls");cout<<" e";system("cls");cout<<" e";system("cls");cout<<" e";system("cls");
}
for循环遍历一下:
#include<iostream>
#include<windows.h>
using namespace std;
int main(){for(int i=1;i<=100;i++){for(int j=1;j<=i-1;j++){cout<<' ';}cout<<'e';system("cls");}
}
可是执行后有了点《小》问题:动画近乎在一瞬间放完了。
想了想,原因是帧数太高了。那么就要想办法使每打印一个字符,等待一段时间:于是Sleep()隆重登场!在括号里输入一个数字,控制台会等待相应的毫秒数不执行任何其他指令。
#include<iostream>
#include<windows.h>
using namespace std;
int main(){for(int i=1;i<=100;i++){for(int j=1;j<=i-1;j++){cout<<' ';}cout<<'e';Sleep(70);//括号中数字单位是毫秒 system("cls");}return 0;
}
完整代码 ↑
用此方法制作出的动画有些……那啥(你懂的),但这个原理不是只能做动画啊!
例如打字机样式的“FBI WARNING”,你值得拥有!
上代码:
#include<string>
#include<iostream>
#include<windows.h>
using namespace std;
void out_70ms(string& s_out_70ms) {//自定义函数int l1 = s_out_70ms.size();for (int i = 0; i < l1; i++) {cout << s_out_70ms[i];Sleep(70);}Sleep(1000);cout << endl;
}
int main() {string s1 = "FBI WARNING!!!";while("yee"=="yee"&&"(bushi"=="(bushi"){out_70ms(s1);}
}
以此类推,打字机样式的千字论文有了[Doge]
觉得黑白底没意思?想换控制台颜色?
满足你的需求!
上代码!
#include<cstdio>
#include<string>
#include<iostream>
#include<windows.h>
using namespace std;
void out_70ms(string& s_out_70ms) {//自定义函数int l1 = s_out_70ms.size();for (int i = 0; i < l1; i++) {cout << s_out_70ms[i];Sleep(70);}Sleep(1000);cout << endl;
}
int main() {system("color 47"); string s1 = "FBI WARNING!!!";while("yee"=="yee"&&"(bushi"=="(bushi"){out_70ms(s1);}return 0;
}
到这里,其实大家不难发现,这就是cmd中的指令。只需在源代码中输入“system("")”即可。
颜色代码(前面是底色,后面是字体颜色):
清屏:
不得不说,C++是真的强大,竟然涵盖了Windows的语言。小编记得“Sleep”就是Microsoft Visual Basic Script Edition中的“延时”语句。
不管怎么说,给个三连吧~
下期C++实现随机取数再见ヾ(•ω•`)o
C++的极简字符动画创作相关推荐
- ElementUI极简loading动画
掌握本教程只需要三分钟~ 全局loading 1.在methods中添加以下函数. openFullScreen(time) {const loading = this.$loading({lock: ...
- mysql 工具 uwp_UWP 创建动画的极简方式 — LottieUWP
提到 UWP 中创建动画,第一个想到的大多都是 StoryBoard.因为 UWP 和 WPF 的界面都是基于 XAML 语言的,所以实现 StoryBoard 会非常方便. 来看一个简单的 Stor ...
- 趋势 | 极简再见,极繁回潮
追求几何与和谐的乌托邦美学 已经"统治"我们太久了 时隔数年 人们的视野从极简主义再次转向极繁主义 这种繁杂.华丽甚至具有戏剧感的设计 焕发出强悍的生命力 并再次风靡艺术界 | | ...
- HTML5 极简的JS函数
页面初始化 mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面.关闭 ...
- 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 什么,7 ...
- 30个Python常用极简代码,拿走就用
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Fatos Morina 来源丨Python 技术 编辑丨极市 ...
- 30 段极简 Python 代码:这些小技巧你都 Get 了么?
选自 | towardsdatascienc 编译 | 机器之心 学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现 ...
- 《Kotlin极简教程》第三章 Kotlin基本数据类型
正式上架:<Kotlin极简教程>Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item ...
- csvtk:高效命令行版极简dplyr
写在前面 什么时候写 csvtk 呀,csvtk 也借鉴了些 datamash 的东西. 之前写 datamash 的使用教程 linux 极简统计分析工具 datamash 必看教程,收到了一位读者 ...
最新文章
- 5G NR-U — Overview
- HD_1232畅通工程
- sql server 2008学习4 设计索引的建议
- ubuntu16.04下安装有道词典
- windows7 安装IIS没有default web site 解决方法
- map/vector erase
- mysql安装无法创建mysqld_MySQL 5.7安装错误`mysqld:无法创建/写入文件’/ var / lib / mysql / is_writable’...
- Introduction to dnorm, pnorm, qnorm, and rnorm for new biostatisticians
- 编译libpng出错:pnglibconf.c fatal error: zlib.h 没有那个文件或目录
- (入门)keystonejs入门教程之环境搭建
- 人对光波的三种特性_面试题:常用塑胶材料的特性及用途,你能列出几个?
- 4.15反思 值得长时间思考的一天
- html5期末大作业:基于HTML+CSS技术实现——传统手工艺术雕刻网站(3页)
- 纳米机器人最新进展(2021年)
- luckysheet 国产超强纯前端在线excel表格功能强大 简单使用记录 异常报错记录及处理
- 正则表达式判断是否为纯数字
- ENVI 混合像元分解
- springMVC + Dubbo + zooKeeper超详细 步骤
- 计算机要执行一条指令,cpu所涉及的操作应该包括下列的,计算机应用基础学习指导...
- 20180903文件系统和文件管理
热门文章
- ERP项目部员工年度工作总结(2006年度)
- 计算机应用3d建模难学吗,什么是3D建模,跟数学建模有关系吗?
- 2 Keys Keyboard 只有两个键的键盘
- 解决UBOOT编译错误 Nothing to be done for `_depend‘.
- WEBAPI 的简单示例
- kindle 5 任意订阅自动定期推送 Rss/网页/新闻 详细解决方案
- 对自己的window7提权
- 痛苦并幸福着------源动力第一天
- gre计算机考试成绩查询,gre机考成绩查询
- HDU 1114—Piggy-Bank(储蓄罐)(完全背包)