精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

秋霞网一区二区| 久久久久亚洲AV成人无在| sis001亚洲原创区| 久久综合丝袜日本网| 国产成人av网址| 自拍偷拍第9页| 国产精品宾馆| 欧美网站一区二区| 国内精品国产三级国产99| 色婷婷视频在线| 蜜臀av性久久久久蜜臀aⅴ | 国产欧美中文字幕| 国产精品白嫩白嫩大学美女| 五月激激激综合网色播| 欧美日韩国产一二三| 成人在线国产视频| 午夜在线观看视频| 99精品国产99久久久久久白柏| 国产精品直播网红| 日韩精品一卡二卡| 一区二区电影在线观看| 亚洲人成网站777色婷婷| 在线观看日本www| 亚洲优女在线| 亚洲精品乱码久久久久久| 欧美一进一出视频| 日韩有码第一页| 久久www免费人成看片高清| 91精品国产91久久| 男人的天堂久久久| 欧美少妇性xxxx| 亚洲黄色www网站| 天天综合天天添夜夜添狠狠添| 色在线中文字幕| 亚洲在线视频一区| 黄瓜视频免费观看在线观看www| 日韩一二三四| 99久久精品国产观看| 亚洲自拍高清视频网站| 91成人在线免费| 日韩精品一卡二卡三卡四卡无卡| 97成人精品视频在线观看| 欧美一区免费观看| 日韩精品影视| 自拍偷拍亚洲一区| 一级片视频免费看| 在线观看欧美理论a影院| 亚洲福利精品在线| 最新版天堂资源在线| 亚洲伦理久久| 欧美日韩国产a| 久久婷婷综合色| 日韩欧美精品电影| 日韩欧美主播在线| 黄色国产精品视频| 伊伊综合在线| 色av成人天堂桃色av| 成年人免费在线播放| 91av亚洲| 一道本成人在线| 国产成人精品无码播放| 中文在线最新版地址| 欧美日韩亚洲系列| 不要播放器的av网站| 欧美1级2级| 在线观看视频91| www.日本xxxx| 久久免费资源| 欧美一区二区三区视频在线| 免费看的av网站| 97精品久久| 亚洲国产精品yw在线观看| 久久久老熟女一区二区三区91| 91午夜精品| 亚洲精品一区二区三区99| 欧美大片免费播放器| 亚洲日本三级| 中文字幕亚洲专区| 日本中文在线视频| 国产精品九九| 欧美性视频网站| 伊人网视频在线| 国产伦精一区二区三区| 国产亚洲福利社区| 激情小视频在线| 综合欧美一区二区三区| www.日本少妇| 91精品影视| 日韩一区二区麻豆国产| 粉嫩av懂色av蜜臀av分享| 亚洲国产合集| 日韩亚洲欧美中文高清在线| 欧美日韩精品亚洲精品| 亚洲欧美日本国产专区一区| 国产精品九九九| 国产成人精品av在线观| 白白色亚洲国产精品| 欧美日韩日本网| 欧美成人性生活视频| 亚洲国产精品自拍| 亚洲人辣妹窥探嘘嘘| 美女久久久久久| 精品88久久久久88久久久| 国产亚洲精品熟女国产成人| 欧美成人激情| 91产国在线观看动作片喷水| 中文字幕一二三四| 成人性生交大片免费看中文| 台湾成人av| 女子免费在线观看视频www| 色婷婷亚洲综合| 欧美老女人bb| 日韩久久综合| 欧美在线视频播放| 亚洲第一页视频| 国产精品日日摸夜夜摸av| 免费在线观看视频a| 久久亚洲精品人成综合网| 亚洲国产成人在线播放| 亚洲伦理一区二区三区| 国产精品嫩草99av在线| 999精品在线观看| 国产区高清在线| 福利精品视频在线| 亚洲欧美激情一区二区三区| 日韩精品dvd| 国产a∨精品一区二区三区不卡| 亚洲免费黄色片| 亚洲人妖av一区二区| xxxx一级片| 一本久久青青| 欧美亚洲免费电影| 亚洲美女综合网| 一区二区三区在线视频观看58| 日本999视频| 亚洲v天堂v手机在线| 午夜精品一区二区三区视频免费看| 91亚洲国产成人精品一区| 国产欧美日韩精品一区| 青青在线视频观看| 女仆av观看一区| 性色av一区二区三区| 风流老熟女一区二区三区| 亚洲手机成人高清视频| 日本不卡一区在线| 精品美女久久| 国产精品第二页| 九色国产在线观看| 日韩欧美精品网址| 青青草福利视频| 乱码第一页成人| 久久综合福利| 国产精品扒开腿做爽爽爽视频软件| 日韩精品免费在线视频| 国产性xxxx高清| 不卡影院免费观看| 欧美,日韩,国产在线| 欧美一区二区三区红桃小说| 91av视频在线播放| 你懂的视频在线免费| 欧美性大战久久久久久久| 国产精品美女高潮无套| 日日欢夜夜爽一区| 午夜精品一区二区三区四区| 日韩av超清在线观看| 中文字幕亚洲天堂| 亚洲视频在线观看一区二区| 一区二区中文视频| 午夜诱惑痒痒网| 欧美女激情福利| 国产一区二区三区高清| 巨茎人妖videos另类| 中文字幕免费精品一区| 国产精品自产拍| 亚洲成人自拍一区| av中文字幕免费观看| 美女视频免费一区| 日韩人妻精品一区二区三区| 99精品在免费线中文字幕网站一区 | 欧美日韩一本到| 91九色丨porny丨极品女神| 成人午夜在线播放| 无遮挡又爽又刺激的视频 | 日韩精品一区二区三区电影| 91成人精品在线| 欧美亚洲国产日本| 日本激情在线观看| 精品嫩草影院久久| 无码一区二区三区在线观看| 国产精品美女视频| 在线观看一区二区三区视频| 欧美资源在线| 特级黄色录像片| 欧美网色网址| 国产精品久久久久久影视| 麻豆tv入口在线看| 亚洲大尺度美女在线| 伊人精品在线视频| 亚洲一区二区三区爽爽爽爽爽| 小毛片在线观看| 日韩主播视频在线| 国产亚洲精品久久久久久久| 日韩影视在线观看| 国产一区二区视频在线观看| 日本小视频在线免费观看| 亚洲男人av电影| 一本色道久久综合精品婷婷| 亚洲综合免费观看高清完整版| 特级西西人体wwwww| 韩国欧美一区二区| 成人综合视频在线| 国产精品成人一区二区不卡| 精品国产乱码一区二区三区四区 | 天天在线视频色| 亚洲激情第一页| 国产欧美日韩成人| 一本到三区不卡视频| 99精品中文字幕| 2017欧美狠狠色| 古装做爰无遮挡三级聊斋艳谭| 久久亚洲电影| 欧美亚洲精品一区二区| 国产大片一区| 欧美日韩一区二区三区在线视频| 国产亚洲精品精品国产亚洲综合| 57pao成人永久免费视频| 国产日产一区二区| 亚洲午夜精品久久久久久久久久久久| 一级片免费网站| 色婷婷综合久久久中文字幕| 国产亚洲第一页| 自拍偷拍国产精品| 水蜜桃av无码| 成人免费va视频| 日本中文字幕在线不卡| 蜜桃av一区二区在线观看| av网址在线观看免费| 日韩午夜黄色| 免费人成在线观看视频播放| 在线电影一区二区| 中文字幕一区综合| 欧美精品一区二区三区精品| 久久久久资源| 欧美日韩一区二区三区在线电影| 国产精品一区二区免费| 国模大尺度视频一区二区| 国产欧美日韩最新| 久久青青视频| 国产精品99久久99久久久二8| 日韩欧美精品一区二区三区| 国模精品视频一区二区| 暖暖日本在线观看| 自拍偷拍免费精品| 春暖花开成人亚洲区| 一区二区三区四区精品| av一区在线观看| 中文字幕亚洲欧美日韩高清| 在线免费黄色| 日韩性生活视频| av在线影院| 欧美精品日韩www.p站| 99在线视频观看| 久久久久中文字幕2018| 福利成人导航| 欧美激情亚洲另类| 国产精品一二三产区| 国产69精品99久久久久久宅男| 538视频在线| 97av在线播放| 国产精品专区免费| 日韩美女视频中文字幕| 国产亚洲欧美日韩精品一区二区三区| 国产乱肥老妇国产一区二| 久久天天久久| 91精品视频一区| caoporn成人| 久久本道综合色狠狠五月| 欧洲专线二区三区| 一级二级三级欧美| 欧美精品国产一区| 丝袜人妻一区二区三区| 亚洲午夜黄色| 欧美成人xxxxx| 欧美aaa在线| 中国老熟女重囗味hdxx| 99久久久免费精品国产一区二区| 90岁老太婆乱淫| 国产精品国产三级国产aⅴ中文 | wwwxxxx在线观看| 99精品欧美一区二区蜜桃免费| 老头老太做爰xxx视频| 亚洲精品日韩一| 日本少妇吞精囗交| 在线观看www91| 丰满少妇被猛烈进入| 亚洲精品影视在线观看| 亚洲精品承认| 97视频在线观看视频免费视频 | 亚洲天堂影视av| 91麻豆免费在线视频| 538国产精品一区二区免费视频| 日韩免费小视频| 99在线看视频| 国产成人调教视频在线观看 | 亚洲成a人片综合在线| 亚洲一区二区视频在线播放| 欧美精品一区男女天堂| eeuss影院www在线播放| 欧美日韩国产成人高清视频| 欧美片第1页| 99视频日韩| 日韩在线观看| 精品视频无码一区二区三区| 国产高清在线观看免费不卡| 亚洲永久精品ww.7491进入| 一级中文字幕一区二区| 美女黄页在线观看| 精品成人佐山爱一区二区| 麻豆系列在线观看| 国产91在线播放| 综合成人在线| 欧美日产一区二区三区在线观看| 欧美人成在线| 污污网站在线观看视频| 久久亚洲综合色| 波多野结衣国产| 日韩欧美亚洲另类制服综合在线 | 国产午夜精品一区二区三区嫩草| 激情综合网五月婷婷| 制服丝袜亚洲精品中文字幕| 九九在线视频| 欧美在线播放视频| 成人知道污网站| 精品日韩在线播放| 老司机精品视频网站| 中文字幕人妻一区| 亚洲猫色日本管| 中文字幕在线观看欧美| 亚洲色图校园春色| 亚洲福利影院| 精品欧美一区二区久久久伦| 亚洲电影在线| 风韵丰满熟妇啪啪区老熟熟女| 国产欧美一区二区精品性色超碰| 久久久久久久久久久久国产| 欧美一级免费观看| 精品视频在线一区二区| 国产精品自拍网| 国产精品视频一区二区三区四蜜臂| 欧美一区二区中文字幕| av高清不卡在线| 国产性xxxx高清| 亚洲精品v欧美精品v日韩精品 | 国产精品久久99| 国产精品久久影视| 日韩在线中文字幕| 福利视频一区| 久久精品中文字幕一区二区三区| 亚洲日本黄色| 中文字幕一区二区三区人妻不卡| 五月婷婷久久丁香| 亚洲人妻一区二区三区| 2018国产精品视频| 亚洲第一二三区| 日韩欧美在线免费观看视频| 欧美国产精品一区二区| 中文字幕一区2区3区| 精品国产一区二区三区四区在线观看 | 午夜精品一区二区三区在线| 狼人天天伊人久久| 久久久999免费视频| 国产午夜精品理论片a级大结局 | 欧美日本精品一区二区三区| 日本aaa在线观看| 国产精品嫩草影院久久久| 欧美残忍xxxx极端| 日本高清一区二区视频| 亚洲一区二区av在线| 五月婷婷六月丁香综合| 57pao国产成人免费| 欧美日中文字幕| www.欧美激情.com| 亚洲国产成人av网| 欧美男男同志| 国产精品手机播放| 欧美不卡一区| 国产三级国产精品| 欧美日韩精品一区二区三区四区 | 日本成人黄色网| 亚洲男人的天堂网| 天天操天天干天天干| 国产精品一区二区久久| 亚洲影视一区二区三区| 日批视频在线看| 一本一道久久a久久精品综合蜜臀| av大全在线免费看| 国产精品xxxx| 免费成人在线观看视频| 久久人人爽人人爽人人| 国产一区二区三区网站|