日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言实现黑客帝国 数字雨

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言实现黑客帝国 数字雨 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看了大神C語言Plus的視頻。敲了這段代碼。

#include<stdio.h> #include<graphics.h> #define WIDTH 1440 #define HEIGHT 810 #define STR_SIZE 20#define STR_NUM 192 #define STR_WIDTH 15//定義結構體 struct rain {int x;int y;int speed;//下落速度char str[STR_SIZE];//存儲數組 }rain[STR_NUM];//創建數字 char createch() {char temp = 0;int flag = rand() % 3;//0 1 2if (flag == 0) {temp = rand() % 26 + 'a';}else if (flag == 1) {temp = rand() % 26 + 'A';}else {temp = 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() % HEIGHT;rain[i].speed = rand() % 5 + 5; //5->10}//二維數組,賦初值for (int i = 0; i < STR_NUM; i++){for (int j = 0; j < STR_SIZE; j++){rain[i].str[j] = createch();}} } void gamedraw() {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-13*j, 0));//作漸變色}} }void gameplay() {//掉落窗口外的解決-令他高度為0for (int i = 0; i < STR_NUM; i++){rain[i].y += rain[i].speed;if (rain[i].y+STR_SIZE*STR_WIDTH> HEIGHT) {rain[i].y = 0;}} }int main() {initgraph(WIDTH, HEIGHT);srand(GetTickCount());gameinit();DWORD t1, t2;t2=t1 = GetTickCount();while (1) {BeginBatchDraw();//雙緩沖gamedraw();if (t2 - t1 > 20) {gameplay();t1 = t2;}t2 = GetTickCount();EndBatchDraw();}return 0; }

效果如下:

?

總結

以上是生活随笔為你收集整理的C语言实现黑客帝国 数字雨的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。