V rámci svého každodenního technomorousování jsem si jednoho krásného večera v HiSoft BASICu na Atari ST (respektive v emulátoru hatari) napsal zobrazovač výškové mapy, použité v minulém díle seriózního programování. Během několika následujících dnů projevili zájem o zdrojový kód hned dva lidé, takže tady je:
10 let xshift=256: let yshift=192
20 open "I", #1, "c:\heightmp.bin"
30 for y=0 to 127 step 1
40 for x=254 to 0 step -2
50 v$=input$ (1, #1)
60 v=asc(v$)
70 color 3, 4, v/10
80 linef x+xshift, yshift+y+(x/4), x+xshift, yshift+y-v+(x/4)
90 linef x-1+xshift, yshift+y+(x/4), x-1+xshift, yshift+y-v+(x/4)
100 next x
110 xshift=xshift-1
120 next y
130 close #1
Vykreslený výsledek pak vypadá takto:

Perspektiva je dána zdvojením pixelů na ose X a také tím, jak se vůči sobě posouvají jednotlivé řádky a sloupce při každé iteraci vnitřního i vnějšího cyklu a tím, Posun na ose X zajišťuje řádek
110
, posun na ose Y a dvojité vykreslení na ose X je na řádcích 80
a 90
. Věřím, že zdroják je samovysvětlující.Vzhledem k velikosti obrázku je třeba Atari schopné kreslit obraz v rozlišení 640×480 s 256 barvami, takže asi TT či Falcon. Předělání pro Low-Res mód běžného ST(E) by vyžadovalo úpravu prakticky všech rozměrů – vynásobení výšky na řádku
60
konstantou 0.7 či nižší, změnu posunů na řádku 10
, zrušení zdvojování pixelů na ose X atd., ponechám to na iniciativě laskavého čtenáře.
Čekal jsem, že to bude delší a ono stačí těch pár řádků v BASICu…