Ramzies
|
Вчера у себя ничего не нашел. Но вот что нашел в nigma.ru, возможно подойдет: Написать программу, которая рисовала бы 7 закрашенных елочек. Елочки должны быть подобны друг другу, расположены вдоль горизонтали на одной высоте, высота елочек должна линейно увеличиваться слева направо. Вдоль этих елочек, на время закрывая их, должна пройти Красная Шапочка так чтобы не испортить "леса". Код:REM Sergei N. Luzgin, IZMIRAN, Moscow, Russia
REM Last updated: 17 April 1995
REM Language: QuickBASIC 4.5 | MS-DOS QBasic 1.1 | Turbo Basic 1.1
SCREEN 2
XMIN=0 : YMIN=0 : XMAX=400 : YMAX=300
WINDOW SCREEN (XMIN,YMIN)-(XMAX,YMAX)
DIM A%(1000)
XF=40 : YF=200 : HF=40
XRH=10 : YRH=200 : HRH=30
FOR I=0 TO 6
HC=HF*(1+0.1*I)
XC=XF+0.7*HC*I
CALL FIR(XC,YF,HC)
NEXT I
CALL REDHAT(XRH,YRH,HRH)
DELAY 3 'FOR TURBO BASIC
'SLEEP 3 'FOR QBASIC & QUICK BASIC
GET(XRH-HRH/3,YRH)-(XRH+HRH/3,YRH-HRH),A%
PUT(XRHC,YRH-HRH),A%,XOR
FOR XRHC=XRH TO XMAX-HRH STEP HRH/10
PUT(XRHC,YRH-HRH),A%,XOR
DELAY 0.2 'FOR TURBO BASIC
'SLEEP 1 'FOR QBASIC & QUICK BASIC
PUT(XRHC,YRH-HRH),A%,XOR
NEXT XRHC
PUT(XRHC,YRH-HRH),A%,XOR
END
SUB FIR(X,Y,H)
LINE(X-H/40,Y)-(X+H/40,Y)
LINE-(X+H/40,Y-H/5)
LINE-(X+H/3,Y-H/5)
LINE-(X+H/40,Y-2*H/3)
LINE-(X+H/4,Y-2*H/3)
LINE-(X,Y-H)
LINE-(X-H/4,Y-2*H/3)
LINE-(X-H/40,Y-2*H/3)
LINE-(X-H/3,Y-H/5)
LINE-(X-H/40,Y-H/5)
LINE-(X-H/40,Y)
PAINT(X,Y-H/3)
END SUB
SUB REDHAT(X,Y,H)
PI=3.14159265
LINE(X-H/40,Y)-(X+H/10,Y)
LINE-(X+H/40,Y-H/5)
LINE-(X+H/4,Y-H/5)
LINE-(X,Y-2*H/3)
LINE-(X-H/4,Y-H/5)
LINE-(X-H/40,Y-H/5)
LINE-(X-H/40,Y)
PAINT(X,Y-H/3)
CIRCLE(X,Y-7*H/9),H/9
PAINT(X,Y-7*H/9)
CIRCLE(X,Y-8*H/9),H/9,,0,PI
LINE(X-H/6,Y-8*H/9)-(X+H/6,Y-8*H/9)
PAINT(X,Y-17*H/18)
END SUB
(1) Написать программу, которая выводила бы в графическом режиме на весь экран монитора случайным образом точки до тех пор пока не будет нажата клавиша E sc. (2) Написать программу, которая выводила бы в графическом режиме на весь экран монитора, исключая прямоугольник (100,100)-(300,200), случайным образом точки до тех пор пока не будет нажата клавиша Esc.
(3) Написать программу, которая выводила бы в графическом режиме на весь экран монитора, исключая круг с центром (200,200) и радиусом 80, случайным образом точки до тех пор пока не будет нажата клавиша Esc. Код:REM Sergei N. Luzgin, IZMIRAN, Moscow, Russia
REM Last updated: 19 March 1995
REM Language: QuickBASIC 4.5 | MS-DOS QBasic 1.1 | Turbo Basic 1.1
SCREEN 2
XMAX=400 : YMAX=300
WINDOW(0,0)-(XMAX,YMAX)
RANDOMIZE TIMER
DO A$=INKEY$ : A$=RIGHT$(A$,1)
X=RND*XMAX : Y=RND*YMAX : PSET(X,Y)
LOOP WHILE A$<>CHR$(27)
CLS
X1=100 : Y1=100 : X2=300 : Y2=200
DO
A$=INKEY$ : A$=RIGHT$(A$,1)
X=RND*XMAX : Y=RND*YMAX
IF X>X2 OR XY2 OR Y
LOOP WHILE A$<>CHR$(27)
CLS
XC=200 : YC=200 : RC=80
DO
A$=INKEY$ : A$=RIGHT$(A$,1)
X=RND*XMAX : Y=RND*YMAX
L=SQR( (X-XC)^2+(Y-YC)^2 )
IF L>RC THEN PSET(X,Y)
LOOP WHILE A$<>CHR$(27)
SCREEN 0
END
Здесь еще несколько десятков похожих программ: Просмотр медиа-файлов и переход по ссылкам доступен только для Участников Форума! Вы нуждаетесь в или !!
|