Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program FireWork;
- {
- TRUONG DANG DUONG
- 30.12.2020
- FB.COM/DUONGDZIN
- }
- uses crt;
- var i,x,y,size : Integer;
- chars:String;
- const
- FIRE_CHAR = '.';
- NULL_CHAR = ' ';
- BULLET_CHAR = '|';
- SPEED = 25;
- MAX_Y = 30;
- MAX_X = 120;
- procedure DRAW_FIREWORK(x,y,size:Integer;c:char);
- begin
- for i:=0 to size do begin
- //1
- gotoxy(x+i*2, y);
- write(c);
- //2
- gotoxy(x-i*2, y);
- write(c);
- //3
- gotoxy(x, y+i);
- write(c);
- //4
- gotoxy(x, y-i);
- write(c);
- //5
- gotoxy(x+i*2, y+i);
- write(c);
- //6
- gotoxy(x-i*2, y-i);
- write(c);
- //7
- gotoxy(x-i*2, y+i);
- write(c);
- //8
- gotoxy(x+i*2, y-i);
- write(c);
- delay(SPEED);
- end;
- delay(SPEED);
- end;
- procedure DRAW_BULLET(x,y:Integer);
- var i : Integer;
- begin
- for i := MAX_Y downto y do begin
- gotoxy(x, i-1);
- write('*');
- gotoxy(x, i);
- write(BULLET_CHAR);
- gotoxy(x, i+3);
- write(' ');
- delay(SPEED);
- end;
- end;
- //MAIN PROGRAM
- begin
- clrscr;
- cursoroff;
- chars:='..*o-".';
- while 1=1 do begin
- try;
- textcolor(random(10));
- size:=5+random(5);
- x:=1+random(MAX_X);
- y:=10+random(MAX_Y-20);
- if (x < 0) or (y < 0) then continue ;
- //gotoxy(1, 1);
- //write(x,' ',y);
- DRAW_BULLET(x,y);
- DRAW_FIREWORK(x,y,size,chars[random(length(chars))]);
- delay(10);
- DRAW_FIREWORK(x,y,size,NULL_CHAR);
- finally
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement