最简单的黑客帝国代码雨教程C++
生活随笔
收集整理的這篇文章主要介紹了
最简单的黑客帝国代码雨教程C++
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?代碼如下:
注:需要用到graphics.h,如果沒有,請自行安裝呦
#include <stdio.h> #include <graphics.h>#define WIDTH 960//窗口寬度 #define HEIGHT 640//窗口高度 #define STR_SIZE 20//文字大小 #define STR_NUM 128//文字總數 #define STR_WIDTH 17//文字寬度//雨的結構 struct Rain {int x;//坐標Xint y;//坐標Yint speed;//速度char str[STR_SIZE];//字符串 }; struct Rain rain[STR_NUM]; //創建字符串 char CretCh() {char temp = 0;//字符串只有數字和小寫字母int flag = rand() % 2;if (flag == 0){temp = rand() % 26 + 'a';} else if(flag == 1) {temp = rand() % 10 + '0';}//字符串有數字和大小寫字母/*int flag = rand() % 3;if (flag == 0){temp = rand() % 26 + 'A';}else if (flag == 1) {temp = rand() % 26 + 'a';}else if (flag == 2) {temp = rand() % 10 + '0';}*/return temp; } void GameInit() {srand(GetTickCount());for (int i = 0; i < STR_NUM; i++){rain[i].x = i * STR_WIDTH;rain[i].y = rand() % HEIGHT;rain[i].speed = rand() % 5 + 5;for (int j = 0; j < STR_SIZE; j++){rain[i].str[j] = CretCh();}} } //繪制字符 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]);//設置文字的顏色settextcolor(RGB(0, 255 - j * 13, 0));}} } //移動字符串 void GameMove() {for (int i = 0; i < STR_NUM; i++){rain[i].y += rain[i].speed;if (rain[i].y-STR_SIZE*STR_WIDTH > HEIGHT){rain[i].speed = rand() % 5 + 5;rain[i].y = 0;}} } void ChangeRain() {for (int i = 0; i < STR_SIZE; i++){//隨機改變字符rain[rand() % STR_NUM].str[rand() % STR_SIZE] = CretCh();rain[rand() % STR_NUM].str[rand() % STR_SIZE] = CretCh();rain[rand() % STR_NUM].str[rand() % STR_SIZE] = CretCh();}} int main() {//創建一個窗口initgraph(WIDTH, HEIGHT);//游戲初始化GameInit();// 開始批量繪制BeginBatchDraw();while (1){GameMove();ChangeRain();GameDraw();FlushBatchDraw();}EndBatchDraw();return 0; }?
總結
以上是生活随笔為你收集整理的最简单的黑客帝国代码雨教程C++的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven的详细下载和安装
- 下一篇: C/C++——黑客数字雨特效