C语言—黑客数字雨特效
生活随笔
收集整理的這篇文章主要介紹了
C语言—黑客数字雨特效
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
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语言—黑客数字雨特效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11(1)-AirSim+四旋翼仿真-人
- 下一篇: day32,尚硅谷视频学习中