精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C語言代碼:數(shù)字雨

開發(fā) 前端
本文將通過一個簡單的Windows控制臺程序,來展示如何實現(xiàn)一個模擬雨水下落的效果。

在我們的日常生活中,雨水是我們經(jīng)常遇到的一種自然現(xiàn)象。有時候,我們會在雨中漫步,欣賞那美麗的雨景。然而,在計算機世界里,我們?nèi)绾斡么a來模擬這種美麗的雨景呢?本文將通過一個簡單的Windows控制臺程序,來展示如何實現(xiàn)一個模擬雨水下落的效果。

代碼概覽

本程序主要使用了Windows API和C語言。通過定義一個RAINDROP結(jié)構(gòu)體來表示雨滴,并使用數(shù)組來存儲一定數(shù)量的雨滴。程序的主要邏輯在main函數(shù)中實現(xiàn),包括初始化控制臺信息、隨機設置雨滴初始位置和內(nèi)容、實現(xiàn)雨滴下落過程、以及控制雨滴下落速度等。

關(guān)鍵技術(shù)點

  • 結(jié)構(gòu)體使用:通過定義RAINDROP結(jié)構(gòu)體來存儲雨滴的x、y坐標和字符內(nèi)容,便于后續(xù)對雨滴的操控。
  • 光標控制:使用SetConsoleCursorPosition函數(shù)來控制光標位置,實現(xiàn)雨滴的顯示和移動。
  • 顏色設置:使用SetConsoleTextAttribute函數(shù)來設置文本顏色,使雨滴呈現(xiàn)綠色。
  • 時間隨機性:利用rand()函數(shù)生成隨機數(shù),控制雨滴的位置和下落速度。
  • 動畫效果:通過定時器或Sleep函數(shù)實現(xiàn)時間的延遲,使雨滴呈現(xiàn)連續(xù)下落的效果。

詳細實現(xiàn)

(1) 定義結(jié)構(gòu)體:

typedef struct  
{  
    int x, y;  
    char ch;  
} RAINDROP;

定義了一個名為RAINDROP的結(jié)構(gòu)體,用于存儲每個雨滴的x、y坐標和字符內(nèi)容。

(2) 初始化控制臺信息

在main函數(shù)中,首先獲取控制臺的寬度和高度,為后續(xù)的雨滴下落提供參考。

RAINDROP raindropLine[BUFFER_SIZE];
HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE);

(3) 隨機設置雨滴初始位置和內(nèi)容

使用rand()函數(shù)隨機生成雨滴的初始位置和內(nèi)容。例如:raindropLine[i].x = rand() % WIDTH;。

(4) 雨滴下落過程的實現(xiàn)

在主循環(huán)中,不斷更新雨滴的位置,并利用光標控制和顏色設置來顯示雨滴。例如:gotoxy(raindropLine[i].x, raindropLine[i].y); set_color(FOREGROUND_GREEN); putchar(raindropLine[i].ch);。同時,當雨滴下落過快時,重新設置其位置,使其重新開始下落。例如:if (raindropLine[i].y > HEIGHT + RAIN_LENGTH) raindropLine[i].x = rand() % WIDTH; raindropLine[i].y = rand() % HEIGHT;。

(5) 控制雨滴下落速度

通過Sleep(50)函數(shù)實現(xiàn)時間的延遲,使雨滴呈現(xiàn)連續(xù)下落的效果。同時,根據(jù)不同的顯示分辨率調(diào)整雨滴的大小和下落速度。

(6) 高亮顯示雨滴

為了使雨滴更顯眼,使用FOREGROUND_GREEN|FOREGROUND_INTENSITY來設置高亮顏色。例如:set_color(FOREGROUND_GREEN|FOREGROUND_INTENSITY); putchar(raindropLine[i].ch);。

(7) 程序結(jié)束

在主循環(huán)結(jié)束后返回0,表示程序正常退出。例如:return 0;。

(8) 性能與優(yōu)化

本程序的性能主要受到控制臺刷新率和顯示分辨率的影響。為了提高程序的性能表現(xiàn),可以嘗試以下優(yōu)化措施:使用雙緩沖技術(shù)減少屏幕刷新的次數(shù);根據(jù)不同的顯示分辨率調(diào)整雨滴的大小和下落速度;優(yōu)化代碼邏輯和數(shù)據(jù)結(jié)構(gòu)等。 

效果展示:

完整代碼:

#include <time.h>
#include <Windows.h>
#include <stdio.h>

const int BUFFER_SIZE = 100;
const int RAIN_LENGTH = 18;

typedef struct
{
    int x, y;
    char ch;
} RAINDROP;

RAINDROP raindropLine[BUFFER_SIZE];
HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE);

void gotoxy(int x, int y)
{
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(HOUT, pos);
}

void set_color(WORD wAttributes)
{
    SetConsoleTextAttribute(HOUT, wAttributes);
}

int main()
{
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(HOUT, &info);
    int HEIGHT = info.srWindow.Bottom;
    int WIDTH = info.srWindow.Right;
    srand((unsigned int)time(NULL)); // 使用當前時間作為隨機數(shù)種子  
    for (int i = 0; i < BUFFER_SIZE; i++) // 隨機設置雨滴下落的位置和內(nèi)容  
    {
        raindropLine[i].x = rand() % WIDTH; // 設置x坐標為隨機數(shù)  
        raindropLine[i].y = rand() % HEIGHT; // 設置y坐標為隨機數(shù)  
        raindropLine[i].ch = rand() % 2 + 48; // 設置雨滴內(nèi)容為0或1的隨機數(shù),ASCII碼48起為數(shù)字字符  
    }
    while (true)
    {
        for (int i = 0; i < BUFFER_SIZE; ++i)
        {
            if (raindropLine[i].y <= HEIGHT)
            {
                gotoxy(raindropLine[i].x, raindropLine[i].y);
                set_color(FOREGROUND_GREEN); // 設置雨滴顏色為綠色  
                putchar(raindropLine[i].ch); // 顯示雨滴內(nèi)容  
            }
            gotoxy(raindropLine[i].x, raindropLine[i].y - RAIN_LENGTH); // 擦除過長的雨滴,將光標移動到上一行位置  
            putchar(' '); // 在當前位置填充空白,為雨滴留出空間  
            raindropLine[i].y++; // 雨滴下落一行,增加y坐標值  
            raindropLine[i].ch = rand() % 2 + 48; // 重新生成隨機數(shù)作為雨滴內(nèi)容,生成0或1的隨機數(shù)(ASCII碼48起為數(shù)字字符)  
            if (raindropLine[i].y > HEIGHT + RAIN_LENGTH) // 如果雨滴下落過快,重新設置其位置,將y坐標設置為窗口頂部附近的位置(HEIGHT+RAIN_LENGTH)附近的值)                   
            {
                raindropLine[i].x = rand() % WIDTH; // 在窗口內(nèi)隨機設置新的x坐標值,讓雨滴重新開始下落位置的隨機分配過程 
                raindropLine[i].y = rand() % HEIGHT; // 在窗口內(nèi)隨機設置新的y坐標值,讓雨滴重新開始下落位置的隨機分配過程
                                                     // 如果雨滴位置仍然在窗口內(nèi),高亮顯示,增加亮度                 
                gotoxy(raindropLine[i].x, raindropLine[i].y);
                set_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY); // 高亮顯示,增加亮度                
                putchar(raindropLine[i].ch);
            }
            if (raindropLine[i].y <= HEIGHT) // 如果雨滴位置仍然在窗口內(nèi),高亮顯示,增加亮度            
            {
                gotoxy(raindropLine[i].x, raindropLine[i].y);
                set_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY); // 高亮顯示,增加亮度               
                putchar(raindropLine[i].ch);
            }
        }
        Sleep(50); // 暫停一段時間,以控制動畫的速度,這里設置為50毫秒   
                 
    }
    return 0; // 程序結(jié)束,返回0表示正常退出程序  
}
責任編輯:趙寧寧 來源: 鯊魚編程
相關(guān)推薦

2024-08-05 14:10:04

2023-12-07 12:59:46

C語言循環(huán)隊列代碼

2022-06-29 09:19:09

靜態(tài)代碼C語言c代碼

2024-07-30 16:36:11

2025-06-23 11:35:29

VormsVue 3代碼

2022-06-01 10:45:52

C語言代碼優(yōu)化

2011-07-05 16:57:53

C語言

2011-07-05 17:07:14

C語言

2022-07-22 14:56:17

Canvas鴻蒙

2020-12-02 10:27:40

C語言

2010-01-15 17:38:37

C++語言

2022-11-03 18:28:05

C語言Vely

2010-01-11 11:27:25

C++語言

2022-07-20 10:21:11

C語言代碼內(nèi)存

2010-01-14 10:34:02

C++語言

2011-10-24 09:42:00

C語言

2022-04-25 15:55:58

C 語言編程語言Java

2022-01-28 14:54:21

staticC語言編譯器

2009-08-03 16:28:53

Java語言與C#語言

2022-08-26 09:02:57

代碼庫編程語言
點贊
收藏

51CTO技術(shù)棧公眾號

日本少妇高潮喷水视频| 成人黄色片网站| brazzers精品成人一区| 免费高清视频在线一区| 亚洲丝袜精品丝袜在线| 精品无人乱码一区二区三区的优势| 中文字字幕在线中文| 欧美韩日一区| 亚洲精品国精品久久99热| 三级a在线观看| 18av在线视频| 91免费国产在线| 成人一区二区三区视频在线观看| 91精品中文字幕一区二区三区| 农民人伦一区二区三区| а天堂8中文最新版在线官网| 国产精品资源网| 国产91精品在线播放| 久久久美女视频| 日韩成人精品一区二区| 亚洲国内精品在线| 久久精品一二三四| 久久av影院| 欧美天堂在线观看| 欧美这里只有精品| 淫片在线观看| 久久久精品国产99久久精品芒果| 91福利视频导航| 涩涩视频在线观看| 美女黄色成人网| 91国内精品久久| 动漫性做爰视频| 成人网18免费网站| 亚洲人成网站免费播放| 老司机午夜免费福利| 视频二区欧美| 91精品欧美一区二区三区综合在 | 国产视频三级在线观看播放| 国产成人在线免费观看| 成人黄色av网| 亚洲一区二区三区高清视频| 日韩国产欧美在线观看| 欧美亚洲另类视频| 五月天综合激情| 亚洲承认在线| 久久久免费精品| 久草免费在线观看视频| 欧美另类专区| 久久99热精品| 久久av高潮av无码av喷吹| 91成人免费| 欧美成人精品在线播放| 国产一区二区播放| 欧美黄色精品| 久久久久久久国产精品视频| 欧美日韩综合一区二区| 牛夜精品久久久久久久99黑人| 精品国产一区二区三区在线观看| 中文字幕第二区| 成人日批视频| 中文字幕一区日韩精品| 欧美另类变人与禽xxxxx| 九九热99视频| 91丨精品丨国产| 日韩一区二区精品| 精品无码av一区二区三区| caoporn成人| 亚洲精品99久久久久中文字幕| 97精品人人妻人人| 免费福利视频一区| 亚洲欧洲激情在线| 天堂网av2018| 欧美欧美天天天天操| 久久久久成人网| 成人免费a视频| 日日噜噜夜夜狠狠视频欧美人 | 日韩在线激情视频| 91 在线视频| 精品二区久久| 国产成人在线一区| av无码精品一区二区三区宅噜噜| 国产aⅴ综合色| 免费av一区二区三区| 成人网视频在线观看| 中文字幕一区二区不卡| 欧美久久久久久久久久久久久久| 色在线中文字幕| 欧美日韩午夜影院| 性折磨bdsm欧美激情另类| 日韩大片在线免费观看| 色777狠狠综合秋免鲁丝| 久草资源在线视频| 日韩中文字幕不卡| 97视频中文字幕| 黄网在线观看| 一区二区三区在线观看视频 | 日韩一区二区三区四区在线| 99精品国产在热久久婷婷| 国产精品美女午夜av| 亚洲精品久久久狠狠狠爱| 久久这里只有精品首页| 最新视频 - x88av| 欧美成人ⅴideosxxxxx| 日韩无一区二区| 欧美做受高潮6| 欧美日韩国产精品一区二区亚洲| 国产成人黄色av| 亚洲国产精品视频在线| 国产精品污网站| 欧美男女爱爱视频| 成人在线视频国产| 亚洲欧洲偷拍精品| 国产无码精品久久久| 久久精品国产**网站演员| 狠狠色噜噜狠狠色综合久| 国产成人在线视频免费观看| 色综合久久久久久久| 亚洲熟妇一区二区| 午夜精品一区二区三区国产| 欧美中文在线视频| 懂色av成人一区二区三区| 国产精品美女久久久久高潮 | 麻豆精品久久久| 久久久久久精| 丰满大乳少妇在线观看网站| 在线不卡中文字幕| 亚洲黄色网址大全| 久久一综合视频| 久久精品日产第一区二区三区精品版| 亚洲综合影视| 9191成人精品久久| 亚洲精品视频网址| 老牛影视一区二区三区| 精品一区久久| www.youjizz.com在线| 日韩一区二区三区观看| 久久久久久久麻豆| 捆绑紧缚一区二区三区视频 | 成人高清免费观看mv| 岛国精品视频在线播放| 97精品人妻一区二区三区蜜桃| 欧美粗暴jizz性欧美20| 91热精品视频| 最新国产在线拍揄自揄视频| 欧美久久久久久久久久| 殴美一级黄色片| 免费成人美女在线观看.| 日韩精彩视频| 国产精品99| 中文字幕精品在线| 在线观看视频中文字幕| 国产精品欧美久久久久无广告| 91香蕉视频污版| 欧美亚洲在线日韩| 国产人妖伪娘一区91| 成人精品一区二区三区免费| 在线视频你懂得一区二区三区| 第一次破处视频| 蜜桃视频在线一区| 免费看av软件| 亚洲91网站| 亚州精品天堂中文字幕| 四虎在线免费观看| 在线观看一区二区精品视频| 日本人亚洲人jjzzjjz| 老司机一区二区| 99re99热| 国产成人aa在线观看网站站| 欧美性受xxxx黑人猛交| 国产在线小视频| 91精品在线免费| 国产亚洲精品av| 91污片在线观看| 在线看的黄色网址| 欧美成人亚洲| 久久九九视频| 欧美激情不卡| 欧美极品美女电影一区| 日本私人网站在线观看| 欧美片网站yy| 91精品国产高潮对白| 91麻豆.com| 日本高清一区二区视频| 伊人久久亚洲美女图片| 日韩电影免费观看在| 国产美女精品视频免费播放软件| 欧美极品少妇xxxxⅹ裸体艺术| 欧美孕妇性xxxⅹ精品hd| 欧美日韩国产电影| 日本三级免费看| 中文字幕av资源一区| 国产精品无码自拍| 男女性色大片免费观看一区二区| 69精品丰满人妻无码视频a片| 要久久爱电视剧全集完整观看| 成人av.网址在线网站| 国内精彩免费自拍视频在线观看网址| 中文字幕欧美精品日韩中文字幕| 亚洲国产福利视频| 欧美三级电影在线观看| 免费在线观看黄网站| 国产精品日韩成人| yy6080午夜| 精品一区二区在线播放| 日韩精品视频久久| 国产字幕视频一区二区| 亚洲国产另类久久久精品极度| 9国产精品午夜| 成人精品aaaa网站| 国产综合色区在线观看| 欧美精品www| 美女写真理伦片在线看| 亚洲男女性事视频| 人妻精品一区二区三区| 欧美精选在线播放| 免费看一级视频| 亚洲va在线va天堂| 可以直接看的黄色网址| 国产欧美精品日韩区二区麻豆天美 | 中文字幕高清在线播放| 欧美激情一二区| 国产最新在线| 色婷婷**av毛片一区| 免费观看成年在线视频网站| 亚洲成人av资源网| 不卡av中文字幕| 欧美高清www午色夜在线视频| 成人公开免费视频| 欧美日韩精品在线视频| 久久视频免费在线观看| 亚洲综合一区二区| 卡通动漫亚洲综合| 亚洲欧美偷拍三级| 免费黄色激情视频| 国产精品久久久久久久久搜平片| 伊人网伊人影院| 91色porny| 色婷婷av777| 国产婷婷色一区二区三区在线| 麻豆tv在线观看| 国产成人精品免费在线| 日韩精品xxx| 国产99久久久国产精品免费看| 三级黄色片免费观看| 精品午夜久久福利影院| 亚洲第一区第二区第三区| 久久99国内精品| 一级黄色在线播放| 国产一区福利在线| 日日夜夜精品视频免费观看| 国产成人鲁色资源国产91色综| 免费欧美一级片| 福利一区在线观看| 中国一级特黄录像播放| 91网页版在线| 欧美三级视频网站| 国产精品卡一卡二卡三| 国产极品美女在线| 亚洲一二三四在线观看| 日本少妇激情舌吻| 色综合久久久久网| 亚洲最新av网站| 日韩欧美中文一区二区| 亚洲免费黄色片| 精品调教chinesegay| 国产小视频在线观看| 综合网中文字幕| 八戒八戒神马在线电影| 欧美激情视频在线| 成人影院入口| 国产中文日韩欧美| 9l视频自拍蝌蚪9l视频成人 | 欧洲伦理片一区 二区 三区| 一本色道久久88精品综合| 国产传媒在线播放| 97在线免费视频| 成人国产一区| 99中文视频在线| 深爱激情综合| xxxxxx在线观看| 国产一区白浆| 污视频网址在线观看| 国产一区二区免费视频| 少妇被狂c下部羞羞漫画| 国产欧美日韩不卡免费| 久久中文字幕在线观看| 欧美自拍丝袜亚洲| 性生交生活影碟片| 国产亚洲人成a一在线v站| av片在线观看免费| 日本精品免费一区二区三区| 国产精品igao视频网网址不卡日韩| 国产欧美日韩一区| 成人嫩草影院| 女性女同性aⅴ免费观女性恋 | 成人免费视频97| 久久狠狠久久| 亚洲一区在线直播| 亚洲永久在线| 最好看的中文字幕| 国产日韩欧美一区二区三区综合| 99热精品免费| 欧美日韩亚洲另类| 日本免费一区二区三区最新| 久久综合88中文色鬼| 电影亚洲精品噜噜在线观看 | 欧美日韩国产传媒| 成人av在线不卡| 美女国产一区二区三区| 久久无码人妻精品一区二区三区| 亚洲少妇30p| 糖心vlog精品一区二区| 精品视频在线播放免| 一色桃子av在线| 91免费欧美精品| 日韩在线观看| 成人在线观看a| www.色综合.com| 精品少妇theporn| 欧美一卡二卡三卡| 麻豆传媒视频在线观看| 国产精品久久久久久久一区探花 | 国产一区二区三区直播精品电影| 免费在线看污片| 999国产在线| 亚洲激情中文在线| 九九热精品在线播放| 久久久久国产精品麻豆ai换脸 | 永久免费网站在线| 91丝袜美腿美女视频网站| 日韩中文首页| 精品亚洲一区二区三区四区| 国产欧美在线观看一区| 国产精品久久久久久久久夜色| 亚洲精品国产精品自产a区红杏吧| 久草免费在线色站| www.成人av.com| 欧美日韩午夜| 中文字幕在线视频播放| 亚洲已满18点击进入久久| 成人黄色免费视频| 久久99精品久久久久久噜噜| 日韩免费成人| 黄色一级大片免费| 国产精品69毛片高清亚洲| 欧美又粗又大又长| 精品国产伦一区二区三区观看体验 | 欧美三级理论片| 亚洲国产精品高清| 中文字幕无码乱码人妻日韩精品| 一区二区三区www| 青青青国产精品| 黄色网址在线免费看| 国产一区二区免费视频| 久久婷婷国产麻豆91| 精品国产乱码久久久久久久| sis001亚洲原创区| 久久久久久亚洲精品不卡4k岛国| 国产精品视频| 性猛交娇小69hd| 欧美日韩久久一区二区| 成人高清免费在线| 国产精品免费观看高清| 国产午夜精品一区二区三区欧美| aa一级黄色片| 欧美日韩一区二区三区在线| av网址在线| 国产主播一区二区三区四区| 翔田千里一区二区| 亚洲女同二女同志奶水| 91精品国产色综合久久不卡蜜臀| 啦啦啦中文在线观看日本| 久久精品ww人人做人人爽| 久久中文字幕一区二区三区| 国产91在线播放九色| 欧美v亚洲v综合ⅴ国产v| 亚洲美女炮图| 中文字幕欧美日韩一区二区| 国产v综合v亚洲欧| 伊人中文字幕在线观看| 久久精品一本久久99精品| 精品亚洲精品| 91国产精品视频在线观看| 一区二区欧美精品| 狠狠狠综合7777久夜色撩人| 91久久精品国产91久久| 99国产精品| 亚洲天堂精品一区| 亚洲成人久久一区| 色综合一区二区日本韩国亚洲| 可以在线看的av网站| 国产精品国模大尺度视频| 人妻无码中文字幕免费视频蜜桃| 国产精品盗摄久久久| 精品999成人| 亚洲国产123| 亚洲图片在线综合| 99re8这里有精品热视频免费 | 中文字幕在线亚洲| 久久精品亚洲成在人线av网址|