AG Informatik |
Um ein Objekt auf dem Bildschirm zu bewegen, muß das Objekt zunächst einmal auf dem Bildschirm dargestellt werden. Nach einer kurzen Pause wird das Objekt gelöscht, an die neue Position gebracht und wieder dargestellt. Dieser Zyklus wird im folgenden wiederholt.
REM Bewegung1 SCREEN 0 WIDTH 40 CLS COLOR 15 PRINT TAB(7); "Bewegung auf dem Bildschirm" LOCATE 2, 1 PRINT CHR$(201); STRING$(38, CHR$(205)); CHR$(187); FOR i = 3 TO 23 LOCATE i, 1 PRINT CHR$(186); STRING$(38, CHR$(32)); CHR$(186); NEXT i LOCATE 24, 1 PRINT CHR$(200); STRING$(38, CHR$(205)); CHR$(188); x = 20: y = 13 dx = 1: dy = 1 DO a$ = INKEY$ COLOR 14 LOCATE y, x: PRINT CHR$(2); FOR pause = 1 TO 500 NEXT pause COLOR 14: LOCATE y, x: PRINT CHR$(32); x = x + dx y = y + dy IF x > 38 THEN dx = -1 IF x < 3 THEN dx = 1 IF y < 4 THEN dy = 1 IF y > 22 THEN dy = -1 LOOP UNTIL a$ <> "" WIDTH 80Die Auflösung des Bildschirms wird zunächst auf 40 Spalten eingestellt, der Bildschirm selbst gelöscht. In weißer Schrift (COLOR 15) wird die Überschrift und der Rahmen gezeichnet. Die Koordinaten des bewegten Objektes sind x und y, die Veränderung der Objekt-Position wird mit den Variablen dx und dy vorgenommen. Das Objekt selbst, CHR$(2), wird gelb (COLOR 14) gezeichnet. Nach einer kleinen Pause (Wert=500) wird das Objekt durch CHR$(32) überschrieben, also gelöscht. Daraufhin wird die neue Position berechnet und geprüft, ob das Objekt auf den Rahmen trifft. Je nach Ausfall des Tests wird die Bewegungsrichtung verändert. Solange keine Taste gedrückt wird, werden die letzten Vorgänge ständig wiederholt. Unter Umständen ist eine Anpassung des Pausenwertes erforderlich.
Friedrich-Schiller-Realschule Böblingen, Kremser Str. 5, 71034 Böblingen ©1996,1999 Winfried Furrer, Böblingen |