35. Kruhy a výplne: CIRCLE, FCOLOR, FILLTO, PAINT, TEXT

Na čo to je

Atari BASIC vie v grafike bod a čiaru. Turbo-BASIC XL pridáva kruh, vyplnenie plochy dvoma spôsobmi a písanie textu do obrázka.

Ako sa to píše

PríkazČo robí
CIRCLE x,y,rkružnica so stredom x,y a polomerom r
CIRCLE x,y,rx,ryelipsa: rx je vodorovný, ry zvislý polomer
PAINT x,yvyleje farbu z bodu x,y: vyplní celú plochu až po hranice inej farby
FCOLOR npero pre FILLTO
FILLTO x,yako DRAWTO, ale od každého bodu čiary vypĺňa doprava, kým nenarazí na nakreslený bod
TEXT x,y,textnapíše text do grafiky; x,y je ľavý horný roh prvého písmena
CLS #6zmaže grafickú obrazovku

Kreslí sa perom z COLOR, tak ako PLOT a DRAWTO (kapitola 20).

Celý program

Súbor examples/circle.tbas:

Turbo Basic XL
10 REM CIRCLE, PAINT, FILLTO and TEXT
20 GRAPHICS 7
30 COLOR 1
40 CIRCLE 40,40,25
50 CIRCLE 110,30,40,12
60 COLOR 2
70 PAINT 40,40
80 COLOR 3:FCOLOR 3
90 PLOT 130,75:DRAWTO 130,60
100 PLOT 90,60:FILLTO 90,75
110 COLOR 1
120 TEXT 96,27,"HI"
130 LOCATE 40,40,C:PRINT "Inside the circle: ";C
140 LOCATE 110,70,C:PRINT "Inside the box: ";C

Preklad a spustenie

Obrázok ukáže emulátor:

Basic26 circle.tbas --run

Simulátor kreslí do pamäte a ukáže len textové okno:

Basic26 circle.tbas --sim

Čo uvidíš

V emulátore: vľavo oranžová kružnica vyplnená zelenou, vpravo hore plochá elipsa s nápisom HI vo vnútri a pod ňou plný modrý obdĺžnik. V textovom okne (a v simulátore):

Inside the circle: 2
Inside the box: 3

Ako to funguje

PAINT alebo FILLTO

PAINTFILLTO
tvarľubovoľný uzavretýto, čo je medzi ľavou čiarou a prvým bodom vpravo
farbaCOLORFCOLOR
rýchlosťpomalšírýchly
nebezpečenstvodiera v hranicichýbajúca pravá hrana – vyplní sa až po okraj obrazovky

Časté chyby

Čo sa staloČo sa stane
hranica pre PAINT nie je uzavretáfarba zaleje celú obrazovku
PAINT do bodu, ktorý už nie je farbou pozadianevyplní sa nič
FILLTO bez pravej hranyvýplň ide až po pravý okraj obrazovky
polomer 256 a viacERROR- 3 VALUE AT LINE 40
chýba COLORkreslí sa farbou pozadia – nevidno nič
súbor má príponu .abasCIRCLE, PAINT a TEXT sú v Atari BASICu mená premenných

Kruh, ktorý presahuje okraj obrazovky, sa nakreslí len z tej časti, ktorá sa zmestí.

Vyskúšaj si

  1. Nakresli terč: päť sústredných kružníc s polomermi 5, 10 … 25.
  2. Nakresli panáčika: hlava je kruh, telo a končatiny čiary.
  3. Nakresli dom z kapitoly 20 a vyfarbi steny, strechu aj dvere cez PAINT.

Zhrnutie

Späť: 34. Bloky pamäte · Ďalej: 36. Zvuk v šestnástich bitoch