'============================================================================
' (p)'23/02/2003 by East-Power-Soft
'
' Tipp 3: Nutzen des PUT Befehls zum animieren.
'============================================================================
SCREEN 13
'============================================================================
' Die Routine bewegt ein Bild mit POKE.
'============================================================================
LOCATE 1, 1: COLOR 7
PRINT "Mit POKE würde ein Smilie etwa so"
PRINT "über den Bildschirm laufen:"

DEF SEG = &HA000
Ybew = 100
FOR XBew = 300 TO 20 STEP -1                    '---> Bewegungsschleife
   RESTORE Daten
   FOR Y = 0 TO 7                               '---> Smilie - Schleife
      FOR X = 0 TO 8
         READ F%                                '---> lese Grafikdaten
         POKE XBew + X + ((Y + Ybew) * 320), F% '---> zeichne Smilie
      NEXT
   NEXT
   FOR P = 0 TO 10000: NEXT                     '---> ein Päuschen
NEXT
DEF SEG

LOCATE 20, 1
PRINT "Das ist zwar machbar, dauert aber"
PRINT "lange und ist für kompliziertere Grafik"
PRINT "zu umständlich. ";
COLOR 14: PRINT "Bitte Taste drücken."
WHILE INKEY$ = "": WEND

'============================================================================
' Und nun eine Routine mit PUT.
'============================================================================
CLS
DEF SEG = &HA000
RESTORE Daten '---> 1. Das Objekt zeichnen und mit GET in ein Feld lesen
FOR Y = 0 TO 7
   FOR X = 0 TO 8
      READ F%
      POKE X + (Y * 320), F%
   NEXT
NEXT
DEF SEG
DIM Smilie%(37)
GET (0, 0)-(8, 7), Smilie%
COLOR 7: PRINT "Nun das selbe mit dem PUT Befehl."

Ybew% = 100
FOR XBew% = 300 TO 20 STEP -1        '---> Bewegungsschleife
   PUT (XBew%, Ybew%), Smilie%, PSET
   FOR P = 0 TO 10000: NEXT          '---> ein Päuschen
NEXT

'============================================================================
' Die Daten für ein kleines Bild.
'============================================================================
Daten:
DATA 0,0,0,11,11,0,0,0,0
DATA 0,11,11,0,0,11,11,0,0
DATA 0,11,0,0,0,0,11,0,0
DATA 11,0,15,0,0,15,0,11,0
DATA 11,0,0,0,0,0,0,11,0
DATA 0,11,0,15,15,0,11,0,0
DATA 0,11,11,0,0,11,11,0,0
DATA 0,0,0,11,11,0,0,0,0