用代码写个数字满屏幕---数字雨
#include <time.h>
#include <Windows.h>typedef struct //记录雨滴的结构体{
int x, y;
char ch;
}RAINDROP;
const int BUFFER_SIZE = 100;
int WIDTH = 80;
int HEIGHT = 30;
const int RAIN_LENGTH = 18;
RAINDROP raindropLine[BUFFER_SIZE];
HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE);//获得标准输出的句柄
void gotoxy(int x, int y)
{COORD pos; //定义表示一个字符在控制台屏幕上的坐标的对象pos.X = x; pos.Y = y; SetConsoleCursorPosition(HOUT, pos); //设置控制台标准输出光标位置}void show_cursor(BOOL hide){ CONSOLE_CURSOR_INFO cciCursor; if (GetConsoleCursorInfo(HOUT, &cciCursor)) //获得光标信息{ cciCursor.bVisible = hide; //隐藏光标 SetConsoleCursorInfo(HOUT, &cciCursor); //重新设置光标 }}void set_color(int color){SetConsoleTextAttribute(HOUT, color); //设置输出颜色} int main(){ CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(HOUT, &info); //获得控制台窗体信息HEIGHT = info.srWindow.Bottom; //根据控制台的宽高设置显示的宽高WIDTH = info.srWindow.Right;
show_cursor(FALSE);
srand((unsigned int)time(NULL));for (int i=0; i<BUFFER_SIZE; i++) //随机设置雨滴下落的位置 { raindropLine[i].x = rand()%WIDTH; raindropLine[i].y = rand()%HEIGHT; raindropLine[i].ch = rand() %2 + 48; //设置雨滴内容0或1 } while(true) { GetConsoleScreenBufferInfo(HOUT, &info); //当窗体大小变化时,重新设置宽高信息 HEIGHT = info.srWindow.Bottom; WIDTH = info.srWindow.Right; for (int i=0; i<BUFFER_SIZE; ++i) { if (raindropLine[i].y <= HEIGHT) { gotoxy(raindropLine[i].x, raindropLine[i].y); set_color(FOREGROUND_GREEN); //设置雨滴颜色 putchar(raindropLine[i].ch); } gotoxy(raindropLine[i].x, raindropLine[i].y - RAIN_LENGTH); //擦除过长的雨滴 putchar(' '); raindropLine[i].y++; raindropLine[i].ch = rand() % 2 + 48; if (raindropLine[i].y > HEIGHT + RAIN_LENGTH) { raindropLine[i].x = rand() % WIDTH; raindropLine[i].y = rand() % HEIGHT; } if ( raindropLine[i].y <= HEIGHT) { gotoxy(raindropLine[i].x, raindropLine[i].y); set_color(FOREGROUND_GREEN|FOREGROUND_INTENSITY); //高亮最下方的雨滴 putchar(raindropLine[i].ch); } } Sleep(50);} getchar(); return 0;}
用代码写个数字满屏幕---数字雨相关推荐
- 编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次。请写出程序求出这两个只出现了一次的数字之和
编程笔试(解析及代码实现):求不重复数字之和给定一组整型数字,里面有且仅有两个数字值出现了一次,其他的数字都出现了两次.请写出程序求出这两个只出现了一次的数字之和 目录 题目描述 代码实现 题目描述 ...
- 菜鸟扣代码第二天:leetcode13--罗马数字转整数
题目描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...
- 自己写的程序密码功能 ------数字功能
自己写的程序密码功能 ------数字功能 class LockedViewController: UIViewController { var dataBase:FMDatabase? var i ...
- wpf 切换搜狗输入法英文_搜狗输入法全新升级手写功能,中英数字自由写,告别切换丨本周新闻...
搜狗AI合成主播雅妮 为您带来搜狗本周新闻播报 新 闻 原 文 .01. 2019搜狗全年营收超80亿人民币,创历史新高 近期,搜狗公布了2019年第四季度及全年未经审计的财务报告.财报显示,2019 ...
- php 数字加逗号,php数字满三位添加一逗号
//数字满三位添加一逗号: $s_money1 = 1000000; $s_money2 = number_format($s_money1); echo $s_money1; //1000000 e ...
- 利用js写一个函数,实现翻转任意数组。 写一个函数,实现对数字数组的排序。
1.写一个函数,实现翻转任意数组 function reverse(arr) {var newArr = [];for (var i = arr.length - 1; i >= 0; i--) ...
- 写论文的时候,数字什么时候用大写,什么时候用罗马数字。有严格要求吗?
写论文的时候,数字什么时候用大写,什么时候用罗马数字.有严格要求吗? 参考:https://www.lxws.net/new.php?id=696 1.在文章开头的时候,是不允许使用非拼写形式的数字: ...
- python拼图游戏代码的理解_Python编写的数字拼图游戏(含爬山算法人机对战功能)...
数字拼图游戏与拼图游戏原理一致,把打乱了的数字或图片经移动,拼成给定的目标数字或图片,其中总有一个空的地方,让相邻(上下左右)的方块移动,直至达到目标. 游戏代码由浙江温州永嘉县教师发展中心应根球老师 ...
- 写一个函数实现对数字数组的排序
写一个函数实现对数字数组的排序 function getSum(arr){// 外层for循环控制行数for(var i = 0; i <=arr.length - 1; i++){// 内层f ...
最新文章
- 5分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫资料
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
- web.xml 配置中classpath: 与classpath*:的区别
- hdu 1556 Color the ball
- 萌新的Python练习菜鸟100例(十五)利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
- 用c语言实现相机坐标的过滤,华为2014年机试题【字符串过滤】-【C语言/C++】
- ps练习实例_拥有一份史上最全面的50集ps抠图学习教程是什么一种体验?
- 语言叮叮消息接口_五分钟学后端技术:如何学习Java工程师必知必会的消息队列...
- 会计从业人员管理系统_湖南省会计从业人员网上服务大厅
- centos 搭建 SVN
- CDR制作印章的流程
- 计算机基础知识论文统一格式,大一计算机基础知识论文.docx
- 【微信小程序开发】缓存Storage的存入与获取
- 知识点滴 - 项目阶段的定义
- 第十七章 加密XML文档
- 深度解析FPS游戏外挂+解决方案
- Java——计算用户输入的日期离1900年1月1日相距多少天
- 京东2017校园招聘笔试题 幸运数
- Java之格林威治时间,字符串格式时间
- 百度无人车阿波龙量产背后,还有这些秘密
热门文章
- 90%公链项目将死?那些号称超越以太坊的“颠覆者”咋样了?
- interrupt request level - IRQL (驱动开发中关于IRQL级别说明)
- 二维数组根据每个数组的元素排序(奥运奖牌排序)的几种方法
- 华为eNSP配置远程ssh
- SpringBoot2.x系列教程38--整合JAX-RS之利用Jersey框架实现RESTful
- This application failed to start because it could not find or load the Qt platform plugin
- Linux系统下,绑定USB串口设备号,解决上电USBID随机情况
- 【CSDN官方】C技能树深度测评
- 知识付费还是原来的知识付费吗?
- Debian中文字体美化