6 STRONA
FILL
Program służy do wypełniania dowolnych, zamkniętych obszarów, w dowolnym trybie graficznym ekranu
i dowolnym kolorem. Program oparty jest na algorytmie Smitha (wypełnia obszar liniami poziomymi). Wywołanie z poziomu BASIC-a:
X=USR(1536,bufor,x,y,kolor)
bufor - adres wolnego obszaru 256 bajtów, w których program będzie odkładał potrzebne mu współrzędne
x, y - współrzędne niezamalowanego punktu wewnątrz figury
kolor - kolor wypełnienia
Wykonywanie programu kończy sie, gdy:
zostanie wypełniony cały obszar
jako punkt początkowy zostanie wskazany punkt
już zamalowany
kolor rysowania będzie wynosić 0 (sprawdzany jest tylko ten przypadek, jednak należy unikać kolorów, które po wyświetleniu na ekranie przyjmą także kolor tła)
naciśnięty zostanie klawisz BREAK
komputer dojdzie do któregoś z brzegów ekranu - jest to zabezpieczenie przed przypadkowym "niedomknięciem" figury
bufor ulegnie przepełnieniu
podane początkowe x, y będą spoza przedziału dozwolonego dla danego trybu graficznego
10 DIM A$(26):A=1536
20 TRAP 60:READ A$:I=1:H=0:TRAP 20
30 N=ASC(A$(I))-48:N=N-39*(N>9):I=I+1
40 X=16*X+N:H=1-H:IF H THEN 30
50 POKE A,X:X=0:A=A+1:GOTO 30
60 END
100 DATA 686885cc6885cb688556688555
110 DATA 6868855468688dfb02d00160a9
120 DATA 0085cd20caf6208ff1f0016020
130 DATA caf6208ff1d00dc655a555c9ff
140 DATA d002c6561890ebe655d002e656
150 DATA a90085ce85cfc654208ff185d0
160 DATA e654e654208ff185d1c654a5d0
170 DATA f006a90085cef01fa5ced01ba9
180 DATA 0185cea4cda55591cbc8a55691
190 DATA cbc8c654a55491cbc8e65484cd
200 DATA a5d1f006a90085cff01fa5cfd0
210 DATA 1ba90185cfa4cda55591cbc8a5
220 DATA 5691cbc8e654a55491cbc8c654
230 DATA 84cd20caf1e655d002e65620ca
240 DATA f6208ff1d0034c4706a4cd88b1
250 DATA cb855488b1cb855688b1cb8555
260 DATA 84cdc0fdf0034c260660
|
Sławomir Jurałowicz
|