目录

01、实现效果

02、过程步骤

03、代码


01、实现效果

02、过程步骤

03、代码

#include<stdio.h>
#include<graphics.h>
#include<time.h>
#define WIDTH 1680  //宽度
#define HEIGTH 820  //高度
#define STR_SIZE 20 //字符串长度
#define STR_NUM 128 //字符串最大值
#define STR_WIDTH 15//字符串所占宽度
//数字雨结构体
struct Rain
{int x, y;int speed;char str[STR_SIZE];
}rain[STR_NUM];
//创建随机字符串
char CreateCh()
{char temp = 0;int flag = rand() & 3;if (flag == 0)temp = rand() % 26+'a';else if(flag == 1)temp = rand() % 26+'A';elsetemp = rand() % 10+'0';return temp;
}
//字符串初始化
void GameInit()
{//字符串位置初始化for (int i = 0; i < STR_NUM; i++){rain[i].x = i * STR_WIDTH;rain[i].y = rand() % HEIGTH;rain[i].speed = rand() % 5 + 5;}//赋予字符串for (int i = 0; i < STR_NUM; i++){for (int j = 0; j < STR_SIZE; j++){rain[i].str[j] = CreateCh();}}}
//字符串条形绘制
void GameDraw()
{cleardevice();for (int i = 0; i < STR_NUM; i++){for (int j = 0; j < STR_SIZE; j++){outtextxy(rain[i].x,rain[i].y-STR_WIDTH*j,rain[i].str[j]);//rain[i].y-STR_WIDTH*j-->成条形字符串settextcolor(RGB(0, 255 - 13 * j,0));}}
}
//字符串掉落
void GamePlay()
{for (int i = 0; i < STR_NUM; i++){rain[i].y += rain[i].speed;//rain[i].y-STR_SIZE*STR_WIDTH-->使每串字符串到底结束if (rain[i].y-STR_SIZE*STR_WIDTH > HEIGTH){rain[i].y = 0;}}
}
//字符串掉落过程字符随机改变
void ChangeCh()
{for (int i = 0; i < STR_NUM; i++){rain[rand() % STR_NUM].str[rand() % STR_SIZE] = CreateCh();}
}
int main()
{initgraph(WIDTH, HEIGTH);GameInit();//字符串初始化DWORD t1, t2;//定义两个获取系统时间变量t1 = t2 = GetTickCount();//获取系统时间while (1){BeginBatchDraw();//开始批量绘制GameDraw();//绘制字符串于界面ChangeCh();//随机改变字符串if (t2 - t1 > 20){GamePlay();//掉落时间为20mst1 = t2;}t2 = GetTickCount();EndBatchDraw();}closegraph();return 0;
}

C语言—黑客数字雨特效相关推荐

  1. GitHub开源:4行代码实现《黑客帝国》数字雨特效

    黑客帝国可是经久不衰的科幻热血巨作,近期GitHub一位大神开源了科技感十足的模拟<黑客帝国>数字雨效果特效.使用终端256色支持的十个级别的"绿色",通过添加随机的亮 ...

  2. 黑客数字雨html单页,Hei客帝国数字雨.html

    canvas{ display: block; } function $(id){ return document.getElementById(id); } //画布 的大小设置 var mywin ...

  3. c语言简单实现数字雨黑客特效

    首先欢迎大家读此文章 实现数字雨首先我们搭建相应环境. 环境要求 安装一个能编译运行c/c++源代码的IDE(集成开发环境) 下载EasyX工具集,里面有我们要用到的graphics.h库(图形界面库 ...

  4. C语言项目:黑客帝国之数字雨

    编辑 相信大家看过许许多多的关于计算机黑客.骇客.人工智能.AI方面的电影,每当黑客入侵某个五角大楼,某个网站时,都会出现这样一幅画面: 编辑 然后就轻而易举的成功入侵夺取管理员权限了,这时候的我们, ...

  5. 【C语言/C++程序员编程】一小时做出来的数字雨(一颗开花的树)!

    相信大家看过许许多多的关于计算机黑客.骇客.人工智能.AI方面的电影,每当黑客入侵某个五角大楼,某个网站时,都会出现这样一副画面: 入侵 或者这样的: 数字雨 然后就轻而易举的成功入侵夺取管理员权限了 ...

  6. C语言+EasyX实现数字雨

    / // 程序名称:数字雨 // 编译环境:VC6.0 EasyX // 作 者:flx413 // 时 间:2016-5-2 /#include <stdio.h> #include & ...

  7. 用C语言VC2010实现数字雨

    用VC2010实现数字雨 首先需要下一个EasyX,因为VC2010没有这个头文件,所以如果没下的话会报错,这个直接百度就可以找到这个头文件,其他的复制粘贴就可以了. #include<stdi ...

  8. 【炫酷秀】仅用4行代码再现《黑客帝国》数字雨,可立即在终端实现!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 提到<黑客帝国>,字符雨可谓是让人印象深刻. 这种科技感爆棚的特效,你 ...

  9. 4行代码再现《黑客帝国》数字雨,在终端实现的那种

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 提到<黑客帝国>,字符雨可谓是让人印象深刻. 这种科技感爆棚的特效,你是否也想来一套? 这个,可以有. 最近,名叫akinomy ...

  10. 黑客代码雨源代码_工业城黑客空间教授的东西比代码更有价值

    黑客代码雨源代码 James Wallbank是英国访问空间中运行时间最长的黑客空间之一的创始人,该访问空间于2000年在北部工业城市谢菲尔德的中心开放,旨在向所有人开放. Access Space不 ...

最新文章

  1. px、em、pt之间的区别与互相转换
  2. 机器学习——python实现SVM模型w,b的查看
  3. pat乙级相当于什么水平_雅思6.5是什么水平?相当于托福多少分?
  4. ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
  5. 26. GD32F103C8T6入门教程-CAN外设回环测试
  6. 计算机课程中lnA怎么打,《计算机基础》考试模拟题(含答案)
  7. SQL锁机制和事务隔离级别
  8. WIN10网络共享文件夹实战
  9. 软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程
  10. 20145322 Exp5 MS08_067漏洞测试
  11. 【C语言】十进制转换二进制
  12. php 算年龄,php – 根据出生日期计算年龄
  13. Java多线程--概述-转自林炳文Evankaka
  14. MathPage.wll not found
  15. 苹果怎么开启开发者模式
  16. 三天流量有效期具体怎么算_飞猪流量有效期多久?怎么提取?
  17. Dots初探和原理分析
  18. 宋图图的工学课程12
  19. 腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!
  20. 医学图像分割损失函数Dice

热门文章

  1. 论文笔记:3DMM(ACM1999)
  2. 推荐几本微积分入门书籍
  3. 随机森林原始论文_【论文笔记】韩家炜团队AutoPhrase:从大量文本库中 自动挖掘短语...
  4. kuangbin 基础DP1
  5. Linux源码编译安装
  6. Surface的创建过程分析
  7. Tomcat8安装与配置
  8. PDF Suite Pro(PDF全能工具箱电脑版)官方正式版V19.0.22 | 含ocr文字识别软件 | pdf全能工具箱怎么样?
  9. C语言使用信号量(Linux)
  10. Node2vec原理剖析,代码实现