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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java满天星星代码_满天星空的代码实现

發布時間:2024/9/30 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java满天星星代码_满天星空的代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#include

#include

#include

#include

using namespace std;

#define RGB_AMOUNT250 //顏色數量

#define SCREEN_WIDTH1000 //屏幕寬度

#define SCREEN_HEIGHT800//屏幕高度

#define STAR_AMOUNT400//星星的數量

/******************

****星星的狀態*****

******************/

enum class STAR_STATUS{

STOP,

UP,

LEFT,

DOWN,

RIGHT,

ALL_STATUS

};

/******************

星星結構體的定義

******************/

class Star {

public:

Star(){}

public:

int x;

int y;

int radius;

int rgb;

STAR_STATUS status;

};

Star star[STAR_AMOUNT];

/******************

功能:初始化單個星星

輸入參數:

x 星星的x坐標 y 星星的y坐標

rgb 星星的顏色參數 radius 星星的半徑

status 星星的狀態

函數返回值:無

******************/

void initStar(Star& star, int x, int y, int rgb, int radius, STAR_STATUS status) {

star.x = x;

star.y = y;

star.rgb = RGB(rgb,rgb,rgb);

star.radius = radius;

star.status = status;

}

/******************

功能:初始化

輸入參數:

函數返回值:無

******************/

void init() {

initgraph(SCREEN_WIDTH, SCREEN_HEIGHT);

int x, y, radius, rgb;

STAR_STATUS status;

for (int i = 0;i < STAR_AMOUNT;i++){

x = rand() % SCREEN_WIDTH;

y = rand() % SCREEN_HEIGHT;

rgb = RGB_AMOUNT-50*(rand() % 3);

radius = rand() % 3;

status = STAR_STATUS::STOP;//所有星星默認靜止,不閃爍

initStar(star[i],x,y,rgb,radius,status);

}

}

/******************

功能:將一顆星星放置在屏幕

輸入參數:

star 一個 星型結構體的引用

函數返回值:無

******************/

void putStar(Star&star) {

setfillcolor(star.rgb);

solidcircle(star.x, star.y, star.radius);

}

/******************

功能:將所有星星放置在屏幕

輸入參數:

函數返回值:無

******************/

void putAllStar() {

for (int i = 0;i < STAR_AMOUNT;i++) {

putStar(star[i]);

}

}

/******************

功能:將一顆星星向屏幕上方移動

如果移動到頂部,則到底部繼續向上

輸入參數:

star 一個 星型結構體的引用

函數返回值:無

******************/

void starMove(Star& star) {

setfillcolor(BLACK);

solidcircle(star.x, star.y, star.radius);

star.y -= 3;

if (star.y <= 0) {

star.y = SCREEN_HEIGHT;

}

setfillcolor(star.rgb);

solidcircle(star.x, star.y, star.radius);

}

/******************

功能:將所有星星向屏幕上方移動

如果移動到頂部,則到底部繼續向上

輸入參數:

函數返回值:無

******************/

void starAllMove() {

for (int i = 0;i < STAR_AMOUNT;i++) {

starMove(star[i]);

}

}

/******************

功能:將一顆星星按照星星的狀態

進行閃爍

輸入參數:

star 一個 星型結構體的引用

函數返回值:無

******************/

void starShining(Star& star) {

setfillcolor(BLACK);

solidcircle(star.x, star.y, star.radius);

switch (star.status) {

case STAR_STATUS::DOWN:

star.y += 2;

break;

case STAR_STATUS::UP:

star.y -= 2;

break;

case STAR_STATUS::LEFT:

star.x -= 2;

break;

case STAR_STATUS::RIGHT:

star.x += 2;

break;

default:

break;

}

setfillcolor(star.rgb);

solidcircle(star.x, star.y, star.radius);

star.status =(STAR_STATUS) (rand() % 5);

}

/******************

功能:將所有星星按各自照星星

的狀態進行閃爍

輸入參數:

star 一個 星型結構體的引用

函數返回值:無

******************/

void allStarShining() {

for (int i = 0;i < STAR_AMOUNT;i++) {

starShining(star[i]);

}

}

int main() {

init();

putAllStar();

while (1) {

starAllMove();

Sleep(100);

}

system("pause");

return 0;

}

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java满天星星代码_满天星空的代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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