【C/C++源码】黑客帝国数字雨
今天分享一个用C语言画黑客帝国数字雨的源码~
用到的是easyx图形库绘图功能,所以需要下载安装easyx图形库,直接官网搜索下载即可,devC++用不了,需要另外配置哦!适用于Visual C++与Visual Studio
#include<stdio.h>
#include<stdlib.h> //使用随机数
#include<time.h>
#include<string.h>#include<easyx.h> //图形库,需要安装才能使用//多媒体设备头文件
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")#define STR_NUM 20
#define RAIN_NUM 128struct Rain
{int x;int y;int speed; //速度char str[STR_NUM+1];
}rain[RAIN_NUM];//随机生成一个字符 大写 小写 数字
char createChr()
{switch (rand() % 3)//随机产生一个整数,如果没有设置随机数种子,那么就是一个固定的值{case 0://返回大写字符return 'A' + rand() % 26;case 1://返回小写字符return 'a' + rand() % 26;case 2://返回数字字符return '0' + rand() % 10;}return ' ';
}//随机生成一串字符串
char* createStr(size_t len)
{static char* str = (char*)calloc(len + 1, sizeof(char));for (size_t i = 0; i < len; i++){str[i] = createChr();}return str;
}//初始化数字雨
void initRain(int i)
{rain[i].x = i * 15;rain[i].y = rand() % getheight();rain[i].speed = rand() % 3 + 1; //1 2 3 strncpy_s(rain[i].str, createStr(STR_NUM), STR_NUM);
}//绘制
void drawRain(int i)
{//outtextxy(rain[i].x, rain[i].y, rain[i].str);for (size_t k = 0; k < STR_NUM; k++){//设置文字颜色//settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));settextcolor(RGB(0,255 - k * 12, 0));outtextxy(rain[i].x, rain[i].y - k * 15, rain[i].str[k]);}
}//随机改变每串数字雨的字符
void changeChr(int i)
{rain[i].str[rand() % STR_NUM] = createChr();
}//让数字雨往下掉
void raining(int i)
{rain[i].y += rain[i].speed;if (rain[i].y - STR_NUM * 15 > getheight()){rain[i].y = 0;rain[i].speed = rand() % 3 + 1;}
}
/*//小球对对碰都是咱们天天学习的C语言,游戏只是把他们运用起来慢慢学,每天两个小时1,师傅领进门,修行靠个人2,每节课都会布置作业,大家要按时完成3,坚定信念C语言 c++ 基础语法操作系统 windows linux macos C语言 嵌入式 操作系统 驱动 服务器C++ 游戏 软件 服务器 ...网络编程,数据库,多线程。。线下学习:25000 6个月,脱产来咱们这学习:线上学习直播教学+录播,课后一对一答疑6280 腾讯课堂官方合作的分期平台。。。只需要100元预定课程,办理分期,10 11 12 1 ...利息:三个名额,可以免息兼职,帮别人写程序*/int main()
{//创建图形窗口initgraph(960, 640);//设置窗口标题SetWindowText(GetHWnd(), "俺是正经人");//设置背景模式 为透明setbkmode(TRANSPARENT);//设置随机数种子srand((unsigned)time(NULL));//播放背景音乐 mci media device interface mciSendString("open racing.mp3", NULL, NULL, NULL);mciSendString("play racing.mp3", NULL, NULL, NULL);for (size_t i = 0; i < RAIN_NUM; i++){initRain(i);}//双缓冲绘图(批量绘图)BeginBatchDraw(); //把图形绘制到了内存里面,不直接绘制到窗口while (true){//清屏cleardevice();for (size_t i = 0; i < RAIN_NUM; i++){drawRain(i);changeChr(i);raining(i);}FlushBatchDraw();//立马把内存里面的图形,全部显示到窗口上面来}getchar();return 0;
}
代码很长,希望看完了的同学可以获得自己想要的知识,也感谢大家的耐心观看,在这里想得到大家一波关注,后续UP主还会发布更多的项目源码以及学习资料,有什么问题可以回帖留言,我尽量回答。想要C/C++学习资料以及其他项目的源码的可以加群【768440837】了解。想要对程序员的未来发展有兴趣的也可加群闲聊。希望和大家一起学习进步!!!
【C/C++源码】黑客帝国数字雨相关推荐
- canvas黑客帝国数字雨背景 html+css+js
效果(完整源码在最后): [html+css+js]黑客帝国数字雨源码分享 可拿来作页面背景 制作: 定义canvas标签: <canvas id="canvas">& ...
- 【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序(附VS工程代码文件和可执行文件)
运行效果 代码结构 //黑客帝国数字雨 花心胡萝卜 #包含 <windows.h> #包含 <stdlib.h>#define 时钟编号 1 #define 最大长度 25 / ...
- 实现黑客帝国数字雨效果
今日闲得慌,折腾了一个黑客帝国数字雨效果,还蛮不错的. 操作:新建一个文本文档,输入 以下代码,再将扩展名修改为 Bat,运行即可. 命令提示符代码:(0-1) @echo off title 黑客帝 ...
- Note:UE5源码解析-数字人渲染篇
Note:UE5源码解析-数字人渲染篇 1.皮肤 关键文件 Engine\Shaders\Private\SeparableSSS.ush 主要用来实现4S的Shader,主要是用在后处理是对屏幕空间 ...
- C#语言实例源码系列-数字转换汉字
专栏分享 点击跳转=>Unity3D特效百例 点击跳转=>案例项目实战源码 点击跳转=>游戏脚本-辅助自动化 点击跳转=>Android控件全解手册
- 产线数字化软件源码_数字化工厂规划的十大核心要素
导读 在当前智能制造的热潮之下,很多企业都在规划建设智能工厂.众所周知,智能工厂的规划建设是一个十分复杂的系统工程,为了少走弯路,本文整理了在建设中要考虑的十个核心要素以及需要关注的重点维度. 数据的 ...
- (更新源码)数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)
数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发) 1.内容简介 2.函数使用 3.实现功能 4.操作实例 5.窗函数对比 6.源代码 1.内容简介 利用MATLAB GUI设计平台, ...
- html5公司年终抽奖程序源码按数字随机抽奖
下载地址 按键盘空格键或者字母A可进行抽取,隐藏菜单请按ESC.ESC菜单中高级设置可以设置参与人数,格子大小,重置抽奖数据等信息.点击已经中奖格子并输入点击的格子编号可取消该格子中奖状态,并清除中奖 ...
- 使用canvas实现黑客帝国数字雨
效果图: 代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...
最新文章
- 在线作图|在线做UMAP降维分析
- 1.4 Float类
- cg word List 3
- oracle的连接字符串
- 工业控制系统专业术语(不断完善中)
- appium+java(五)微信小程序自动化测试实践
- 作者:赵永恒(1964-),男,博士,中国科学院国家天文台研究员、博士生导师...
- 揭示地理数据分布规律的方法
- 即时通讯开发----回音消除技术
- linux分区par,linux基础篇(磁盘分区)
- java记住用户名和密码_JAVA--高级基础开发Cookie实现记住用户名和密码
- Noip2013花匠
- wifi信号衰减与距离关系_wifi无线信号传输衰减间隔核算公式
- 删除的文件怎么恢复?
- 聊聊RabbitMq动态监听这点事
- 数据治理体系化思考与实践
- 游戏低延迟高续航真无线蓝牙耳机,小巧便捷出差旅行必备
- 看美剧学英文之最全攻略
- 红外控制Windows音量by python
- 计算机网络dce接口命令,思科路由器里查看此接口是DCE还是DTE端的命令是什么?...
热门文章
- 华为ENSP路由相关配置
- 【贪心算法】Leetcode 714. 买卖股票的最佳时机含手续费
- 重邮大学计算机基础考试试题及答案,重庆邮电大学《大学计算机基础(2015》考试试卷.pdf...
- CocosBuilder 完全攻略 (译)
- android app hilink,HUAWEI HiLink
- QUIC浅析,android开发者模式
- 关于openCV报错无法打开文件“opencv_world340d.obj”的配置问题
- 【解决方案】HIKSDK/大华SDK/Ehome协议视频智能分析平台EasyCVR在文物古建筑智慧防火场景的应用
- 【解决方案】国标GB28181级联EasyGBS及RTSP/SDK/Ehome协议平台EasyCVR在营业厅人脸识别监控系统中的应用
- Python进阶总结(含示例)