Hallo, ich habe hier ein GW-BASIC Programm, welches in CGA 320x200 in 4 Farben die Mandelbrotmenge errechnet und darstellt:
Code
5 S=TIMER:CLS
10 SCALE# = 1/60 : ZEROX = 160
20 ZEROY = 100 : MAXIT = 32
30 SCREEN 1
40 FOR X = 0 TO 2*ZEROX - 1
50 CR# = (X-ZEROX)*SCALE#
60 FOR Y = 0 TO ZEROY
70 CI# = (ZEROY-Y)*SCALE#
80 ZR# = 0
90 ZI# = 0
100 FOR I = 1 TO MAXIT
110 BR# = CR# + ZR#*ZR# - ZI#*ZI#
120 ZI# = CI# + 2*ZR#*ZI#
130 ZR# = BR#
140 IF ZR#*ZR# + ZI#*ZI# > 4 THEN GOTO 170
150 NEXT I
160 GOTO 190
170 PSET (X, Y), 1 + (I MOD 3)
180 PSET (X, 2*ZEROY-Y), 1+(I MOD 3)
190 NEXT Y
200 NEXT X
210 PRINT TIMER-S;" seconds"
Alles anzeigen
Das schaltet in Zeile 30 mit Screen 1 in CGA 320x200x4 um, so sieht das aus:
Wie müsste es umgeschrieben werden, dass es in SCREEN 2 (640x200 monochrom) bildschirmfüllend läuft?
Klar ist Zeile 10, dort muss ZEROX=320 geändert werden. Aber wie müssen in den Zeilen 170 und 180 die Farben für die PSET-Befehle angepasst werden, da es in dem Modus ja nur Schwarz und Weiß gibt? Wahrscheinblich braucht es auch zwei SCALE# Variablen, für X und Y in den Zeilen 50 und 70?