DECLARE SUB farbe ()
DECLARE SUB INTEL ()
DECLARE SUB LEVEL01 ()
COMMON SHARED zeileg, spalteg, zeile, spalte, timeg, geggas
CLS
LEVEL01
farbe
zeileg = 20
spalteg = 20
zeile = 10
spalte = 10
geggas = .25
start:
DO
INTEL
strg1$ = INKEY$
LOOP UNTIL LEN(strg1$) > 0
IF LEN(strg1$) = 1 THEN
IF ASC(strg1$) = 27 THEN END
END IF
IF LEN(strg1$) = 2 THEN
IF ASC(MID$(strg1$, 2, 1)) = 72 THEN GOTO up
IF ASC(MID$(strg1$, 2, 1)) = 80 THEN GOTO down
IF ASC(MID$(strg1$, 2, 1)) = 75 THEN GOTO left
IF ASC(MID$(strg1$, 2, 1)) = 77 THEN GOTO right
END IF
'-------------------UP----------------------
up: zeilea = zeile
zeile = zeile - 1
l = SCREEN(zeile, spalte)
IF l = 35 THEN GOTO ng9: ELSE GOTO g9:
ng9: LOCATE zeile, spalte: PRINT #
zeile = zeile + 1
g9:
LOCATE zeilea, spalte: PRINT
LOCATE zeile, spalte: PRINT H
GOTO start:
'------------------DOWN---------------------
down: zeilea = zeile
zeile = zeile + 1
l = SCREEN(zeile, spalte)
IF l = 35 THEN GOTO ng10: ELSE GOTO g10:
ng10: LOCATE zeile, spalte: PRINT #
zeile = zeile - 1
g10: LOCATE zeilea, spalte: PRINT
LOCATE zeile, spalte: PRINT H
GOTO start
'------------------LEFT---------------------
left: spaltea = spalte
spalte = spalte - 1
l = SCREEN(zeile, spalte)
IF l = 35 THEN GOTO ng11: ELSE GOTO g11:
ng11: LOCATE zeile, spalte: PRINT #
spalte = spalte + 1
g11: LOCATE zeile, spaltea: PRINT
LOCATE zeile, spalte: PRINT H
GOTO start
'------------------RIGHT--------------------
right: spaltea = spalte
spalte = spalte + 1
l = SCREEN(zeile, spalte)
IF l = 35 THEN GOTO ng12: ELSE GOTO g12:
ng12: LOCATE zeile, spalte: PRINT #
spalte = spalte - 1
g12: LOCATE zeile, spaltea: PRINT
LOCATE zeile, spalte: PRINT H
GOTO start
SUB farbe
posi01 = 1
posi02 = 1
start02:
l = SCREEN(posi01, posi02)
IF l = 35 THEN COLOR 14, 0, 1: LOCATE posi01, posi02: PRINT #
IF posi01 = 50 THEN GOTO posiplus:
posi01 = posi01 + 1
GOTO start02:
posiplus:
IF posi02 = 80 THEN EXIT SUB
posi02 = posi02 + 1
posi01 = 1
GOTO start02:
END SUB
SUB INTEL
IF timeg < TIMER THEN GOTO startintel: ELSE EXIT SUB
startintel:
LOCATE zeile, spalte: PRINT H
los:
neu:
IF spalte = spalteg THEN GOTO neu1: ELSE GOTO neu10:
neu1: IF zeile = zeileg THEN GOTO neu2: ELSE GOTO neu10:
neu2: LOCATE zeileg, spalteg: COLOR 3, 0, 0: PRINT O
END
neu10:
'------------------------------geg-------------------------------
IF zeile > zeileg THEN GOTO 100
IF zeileg > zeile THEN GOTO 110
'-------- zeile > zeileg ---------
100
IF spalte > spalteg THEN GOTO 1000
IF spalteg > spalte THEN GOTO 1010
'-------- zeileg > zeile ---------
110
IF spalte > spalteg THEN GOTO 2000
IF spalteg > spalte THEN GOTO 2010
'--------------------------------------------------------------
'zeileg > zeile --- SpalteG > Spalte
2010
zeile01 = zeileg - zeile
spalte01 = spalteg - spalte
IF zeile01 > spalte01 THEN GOTO 10060
IF spalte01 > zeile01 THEN GOTO 10070
'--------gehe nach OBEN-------
10060 zeilega = zeileg
zeileg = zeileg - 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng1: ELSE GOTO g1:
ng1:
zeileg = zeileg + 1
GOTO 10070
g1:
LOCATE zeilega, spalteg: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'--------gehe nach LINKS------
10070 spaltega = spalteg
spalteg = spalteg - 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng2: ELSE GOTO g2:
ng2:
spalteg = spalteg + 1
GOTO 10060
g2:
LOCATE zeileg, spaltega: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'--------------------------------------------------------------
'zeileg > zeile --- Spalte > SpalteG
2000
zeile01 = zeileg - zeile
spalte01 = spalte - spalteg
IF zeile01 > spalte01 THEN GOTO 10040
IF spalte01 > zeile01 THEN GOTO 10050
'---- gehe nach OBEN ----
10040 zeilega = zeileg
zeileg = zeileg - 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng3: ELSE GOTO g3:
ng3:
zeileg = zeileg + 1
GOTO 10050
g3:
LOCATE zeilega, spalteg: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'---- gehe nach RECHTS---
10050 spaltega = spalteg
spalteg = spalteg + 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng4: ELSE GOTO g4:
ng4:
spalteg = spalteg - 1
GOTO 10040
g4:
LOCATE zeileg, spaltega: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'--------------------------------------------------------------
'zeile > zeileg --- SpalteG > Spalte
1010
zeile01 = zeile - zeileg
spalte01 = spalteg - spalte
IF zeile01 > spalte01 THEN GOTO 10020
IF spalte01 > zeile01 THEN GOTO 10030
'--- gehe nach UNTEN ------
10020 zeilega = zeileg
zeileg = zeileg + 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng5: ELSE GOTO g5:
ng5:
zeileg = zeileg - 1
GOTO 10030
g5:
LOCATE zeilega, spalteg: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'--- gehe nach LINKS ------
10030 spaltega = spalteg
spalteg = spalteg - 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng6: ELSE GOTO g6:
ng6:
spalteg = spalteg + 1
GOTO 10020
g6:
LOCATE zeileg, spaltega: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
->-------------------------------------------------------------
' zeile > zeileg --- spalte > spalteG
1000
zeile01 = zeile - zeileg
spalte01 = spalte - spalteg
IF zeile01 > spalte01 THEN GOTO 10000
IF spalte01 > zeile01 THEN GOTO 10010
'-----------UNTEN--------------
10000 zeilega = zeileg
zeileg = zeileg + 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng7: ELSE GOTO g7:
ng7:
zeileg = zeileg - 1
GOTO 10010
g7:
LOCATE zeilega, spalteg: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
'-----------RECHTS-------------
10010 spaltega = spalteg
spalteg = spalteg + 1
l = SCREEN(zeileg, spalteg)
IF l = 35 THEN GOTO ng8: ELSE GOTO g8:
ng8:
spalteg = spalteg - 1
GOTO 10000
g8:
LOCATE zeileg, spaltega: PRINT
LOCATE zeileg, spalteg: PRINT O: GOTO 1
1
timeg = TIMER + geggas
END SUB
SUB LEVEL01
PRINT ###################################################################
PRINT # #
PRINT # #
PRINT # #
PRINT # # # # #
PRINT # #
PRINT # # #
PRINT # # # #
PRINT # # #
PRINT # # # #
PRINT # # # ################## #
PRINT # # # # #
PRINT # # #
PRINT # # # #
PRINT # # # #
PRINT # # # #
PRINT # # #
PRINT # # # #
PRINT # # #
PRINT # # # #
PRINT # # #
PRINT # ########## #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT # #
PRINT ###################################################################
END SUB