fb:porticula NoPaste
Zufällige Muster basierend auf Langtons Ameise I
Uploader: | Sebastian |
Datum/Zeit: | 31.03.2008 13:22:54 |
'Zufällige Muster basierend auf Langtons Ameise
'Programm von Skilltronic (07.03.2008)
'siehe http://forum.qbasic.at/viewtopic.php?t=5409
'Im Original als QB-Programm, hier als FreeBasic-Variante
DIM AS INTEGER a, r, x, y, nf, weg(15), c
DIM AS STRING taste
SCREEN 12
RANDOMIZE TIMER
c=0
DO
CLS
FOR a = 0 TO 15
weg(a) = FIX(RND * 2) * 2 - 1
NEXT
x = 319
y = 239
DO
r = r + weg(POINT(x, y))
IF r = 4 THEN r = 0
IF r = -1 THEN r = 3
nf = POINT(x, y) + 1
IF nf = 16 THEN nf = 0
PSET (x, y), nf
IF r = 0 THEN x = x + 1
IF r = 1 THEN y = y + 1
IF r = 2 THEN x = x - 1
IF r = 3 THEN y = y - 1
IF x = 640 THEN x = 0
IF x = -1 THEN x = 639
IF y = 480 THEN y = 0
IF y = -1 THEN y = 479
c += 1
IF c = 750 THEN
'Prozessorauslastung senken:
'Alle 750 Schleifendurchgänge kurz ans System übergeben
SLEEP 1
c = 0
END IF
taste = INKEY
LOOP WHILE taste = ""
LOOP UNTIL taste = CHR(27)