EasyX学习笔记(二、黑客帝国数据流)

  • 思路说明
    • main函数
    • startup函数
    • show函数
    • updatewithoutinput函数
    • 结构
  • 代码

思路说明

main函数

1、main函数中应包括初始化,与显示有关的函数,与用户输入无关的更新,大致思路如下

void main()
{初始化;while(1){显示;与用户输入无关的更新;}return;
}

startup函数

2、初始化包括画布颜色、大小、字体字号等的设置,但注意此时字体颜色与文字内容时变化的,初始化以此即可

void startup()
{初始化画布;初始化文字内容与颜色;其余一些初始化;
}

show函数

3、关于显示,文字和颜色都需要用二维数组储存起来,遍历显示即可

void show()
{for()for(){遍历文字二维数组;遍历颜色二维数组;}
}

updatewithoutinput函数

这一部分实现色彩的下落效果和数字的变化效果

void updatewithoutinput()
{int 二位数组用于暂存色彩信息for()for(){遍历色彩数组;首行随机产生新的色彩暂存至临时颜色数组;其余行色彩以此存入临时数组;}for()for(){遍历临时色彩数组;将临时色彩数组赋值于色彩数组传递出去;}//数字的更新亦是如此
}

结构

#include<...>#define ...int ...
char ...void startup()
{}void show()
{}void updatewithoutinput()
{}void main()
{startup();while(1){show();updatewithoutinput();}return;
}

代码

要安装EasyX库

#include<graphics.h>
#include<conio.h>
#include<time.h>#define High 666
#define Width 1080
#define char_size 22    //定义字符大小
#define num_x 49
#define num_y 30int char_x,char_y;  //下落字符的坐标
int textcolor[num_x][num_y]={0};       //字符颜色
char text[num_x][num_y]={'0'};       //显示一组字符void startup()
{initgraph(Width,High);setbkcolor(BLACK);cleardevice(); //初始化画布srand((unsigned)time(NULL)); //种下随机数int x,y;for(x=0;x<num_x;x++)for(y=0;y<num_y;y++){textcolor[x][y]=y%255+rand()%255-400; //生成字符颜色text[x][y]=(char)(rand()%26/1+65);        //产生随机字符}BeginBatchDraw();
}void show()
{cleardevice();int x,y;for(x=0;x<num_x;x++)for(y=0;y<num_y;y++){settextcolor(RGB(0,textcolor[x][y],0));     //设置字体颜色outtextxy(x*char_size,y*char_size,text[x][y]);      //输出字符}Sleep(50);FlushBatchDraw();
}void updatewithoutinput()
{int x,y;int textcolor_temp[num_x][num_y]={0};char text_temp[num_x][num_y]={'0'};for(x=0;x<num_x;x++)for(y=0;y<num_y;y++){if(y==0)textcolor_temp[x][y]=(rand())%255-5000;elsetextcolor_temp[x][y]=textcolor[x][y-1];}for(x=0;x<num_x;x++)for(y=0;y<num_y;y++)textcolor[x][y]=textcolor_temp[x][y];for(x=0;x<num_x;x++)for(y=0;y<num_y;y++)text_temp[x][y]=rand()%2/1+48;for(x=0;x<num_x;x++)for(y=0;y<num_y;y++)text[x][y]=text_temp[x][y];}int main()
{startup();while(1){show();updatewithoutinput();}EndBatchDraw();return 0;
}

EasyX学习笔记(二、黑客帝国数据流)相关推荐

  1. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  2. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  3. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  4. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  5. Scapy学习笔记二

    Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...

  6. Ethernet/IP 学习笔记二

    Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...

  7. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  8. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

  9. ASP.NET MVC 2 学习笔记二: 表单的灵活提交

    ASP.NET MVC 2 学习笔记二:  表单的灵活提交 前面说到有做到公司内部的一个请假系统,用的是ASP.NET MVC 2+Entity Framework.虽然EF(Entity Frame ...

最新文章

  1. Java 里的 for (;;) 与 while (true),哪个更快?
  2. python小程序-python学习—几个简单小程序
  3. C++ Primer 5th笔记(chap 18 大型程序工具)捕获异常
  4. @property与@synthesize的差别
  5. aop简介-aop的底层实现
  6. 字符函数和内存函数模拟实现
  7. 前端学习(1400):多人管理20代码优化
  8. 汇编语言:编程,将datasg段中的每个单词改为大写字母
  9. 58 转转技术总监骆俊武:一个核心系统 3 万多行代码的重构实战篇
  10. JavaScript基本资料
  11. 浅谈App-V(附:参考资料)
  12. DOM中 property 和 attribute 详解
  13. Zookeeper服务启动不了_zookeeper集群启动
  14. php如何调用protected,PHP中类作用域protected实例详解
  15. MySQL查询指令示例---初学者必看
  16. vue前后端分离图片无法显示的问题
  17. 云客服让每一个企业客户都成为座上宾
  18. 根据示波器存储的波形数据得到两列信号的相位差(MATLAB源码)
  19. 【龙讯module小课堂】“光”怪陆离:PWmat计算光学性质(二)
  20. 动态给div背景图片赋值

热门文章

  1. python 黑白棋_python实现翻转棋游戏(othello)
  2. MySQL安装 忘记密码
  3. 专升本——主从复合句
  4. 《统计学》胡宝珠期末复习笔记
  5. [含论文+源码等]基于HTML5,DIV CSS实现的宠物狗个性化服务网站前端(静态网页毕业设计)web前端毕设
  6. 【行为管理篇】01. 恢复出厂及登录 ❀ 深信服上网行为管理
  7. Oracle实验 实验1 Oracle数据库安装与配置
  8. 谷歌邮箱无法与服务器建立连接失败,GMAIL SMTP错误:无法连接到服务器
  9. ogm 算法_如何在Windows Vista中播放.OGM视频文件
  10. 巴贝奇、阿达和他们的差分机