1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gitee-community-gitee-7th-event-3

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
shuziyu.cpp 1.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
LinYongPei Отправлено 10.06.2020 05:23 da1ef7e
#include<stdio.h>
#include<windows.h>
#include<graphics.h>
#define WIDTH 960
#define HEIGTH 640
#define STR_SIZE 20
#define STR_NUM 128
#define STR_WIDTH 15
struct Rain {
int x;
int y;
int speed;
char str[STR_SIZE];
} rain[STR_NUM];
char CreateChar() {
char temp = 0;
int flag = rand() % 3;
if(flag == 0) {
temp = rand() % 26 + 'a';
// temp = 'a';
} else if(flag == 1) {
temp = rand() % 26 + 'A';
// temp ='A';
} else {
temp = rand() % 10+'0';
// temp = '0';
}
return temp;
}
void GameInit(){
for (int i= 0; i < STR_NUM; i++) {
rain[i].x = i * STR_WIDTH;
rain[i].y = rand() % HEIGTH;
rain[i].speed = rand() % 5 + 5;
}
for (int i = 0; i < STR_NUM; i++) {
for (int j = 0; j < STR_SIZE; j++) {
rain[i].str[j] = CreateChar();
}
}
}
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 - 13 * j, 0));
}
}
}
void GamePlay(){
for (int i = 0; i < STR_NUM; i++) {
rain[i].y += rain[i].speed;
if (rain[i].y - STR_SIZE * STR_WIDTH > HEIGTH) {
rain[i] = 0;
}
}
}
void ChangeCh(){
for(int i=0;i<STR_NUM;i++){
rain[rand()%STR_NUM].str[rand()%STR_SIZE]=CraeteChar();
}
}
int main(){
initgraph(WIDTH,HEIGTH);
srand(GetTickCount());
GameInit();
DWORD t1, t2;
t1 = t2 = GetTickCount();
while (1) {
BeginBatchDraw();
GameDraw();
ChangeCh();
if (t2 - t1 > 20){
GamePlay();
t1 = t2;
}
t2 = GetTickCount();
EndBatchDraw();
// Sleep(20);
}
getchar();
closegraph();
return 0;
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gitee-community-gitee-7th-event-3.git
git@api.gitlife.ru:oschina-mirror/gitee-community-gitee-7th-event-3.git
oschina-mirror
gitee-community-gitee-7th-event-3
gitee-community-gitee-7th-event-3
master