DECLARE SUB pointout (punkte%) DECLARE SUB objekt () DECLARE SUB objekt1 () DECLARE SUB startpos () DECLARE SUB objektneg () DECLARE SUB xdelay (ticks) DECLARE SUB ausxy (posx%, posy%) DECLARE SUB target () DECLARE SUB font (col, locx, locy, text$) SCREEN 12 200 CLS PRINT "Wollen sie den Sound ausstellen?(j/n):" INPUT sound44$ CLS SLEEP 1 FOR a = 50 TO 380 STEP 10 LINE (100, a)-(100, 50) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT a FOR a = 100 TO 250 STEP 10 LINE (a, 380)-(100, 380) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT a a = 250 b = 380 DO LINE (250, 380)-(a, b) xdelay (0) a = a + 10 b = b - 10 LOOP UNTIL a > 300 FOR i = 330 TO 260 STEP -10 LINE (300, i)-(300, 330) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i a = 300 b = 260 DO LINE (300, 260)-(a, b) xdelay (0) a = a - 10 b = b - 10 LOOP UNTIL a < 250 a = 250 b = 210 DO LINE (250, 210)-(a, b) xdelay (0) a = a + 10 b = b - 10 LOOP UNTIL a > 300 FOR i = 160 TO 100 STEP -10 LINE (300, 160)-(300, i) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i a = 300 b = 100 DO LINE (300, 100)-(a, b) xdelay (0) a = a - 10 b = b - 10 LOOP UNTIL a < 250 FOR i = 250 TO 100 STEP -10 LINE (250, 50)-(i, 50) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i FOR i = 250 TO 350 STEP 10 LINE (250, 50)-(i, 50) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i FOR i = 50 TO 150 STEP 10 LINE (350, 50)-(350, i) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i a = 350 b = 150 DO LINE (350, 150)-(a, b) xdelay (0) a = a + 10 b = b - 10 LOOP UNTIL a > 450 FOR i = 450 TO 500 STEP 10 LINE (450, 50)-(i, 50) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i a = 500 b = 50 DO LINE (500, 50)-(a, b) xdelay (0) a = a - 10 b = b + 10 LOOP UNTIL a < 350 a = 350 b = 200 DO LINE (350, 200)-(a, b) xdelay (0) a = a + 10 b = b + 10 LOOP UNTIL a > 530 FOR i = 530 TO 250 STEP -10 LINE (500, 380)-(i, 380) xdelay (0) IF INKEY$ = CHR$(27) THEN GOTO 2 NEXT i PAINT (101, 101), 1, 15 PAINT (451, 51), 4, 15 IF sound44$ = "n" THEN PLAY "MB L8 CDEFGAB" END IF FOR a = 1 TO 2 STEP 1 FOR i = 1 TO 15 STEP 1 font i, 105, 65, "ENTERTAIMENT" xdelay (1) NEXT i NEXT a font 14, 105, 65, "ENTERTAIMENT" SLEEP 2 2 CLS IF sound44$ = "n" THEN PLAY "MB GAB" END IF FOR a = 1 TO 5 STEP 1 FOR i = 1 TO 400 STEP 30 CLS CIRCLE (300, 200), i LOCATE 13, 33 COLOR 14 PRINT "presents..." xdelay (0) NEXT i NEXT a COLOR 3 CLS 'K LINE (50, 50)-(75, 150), 1, BF LINE (100, 50)-(75, 100), 1 LINE (75, 100)-(100, 150), 1 LINE (100, 150)-(125, 150), 1 LINE (125, 150)-(100, 100), 1 LINE (100, 100)-(125, 50), 1 LINE (125, 50)-(100, 50), 1 PAINT (105, 55), 1, 1 xdelay (5) 'L LINE (140, 50)-(165, 150), 1, BF LINE (165, 150)-(195, 125), 1, BF xdelay (5) 'O LINE (210, 50)-(235, 150), 1, BF LINE (235, 150)-(265, 125), 1, BF LINE (265, 150)-(290, 50), 1, BF LINE (290, 50)-(210, 75), 1, BF xdelay (5) 'T LINE (305, 50)-(405, 75), 1, BF LINE (342, 75)-(367, 150), 1, BF xdelay (5) 'Z LINE (410, 50)-(510, 75), 1, BF LINE (410, 125)-(510, 150), 1, BF LINE (510, 75)-(435, 125), 1 LINE (485, 75)-(410, 125), 1 PAINT (415, 124), 1 xdelay (5) 'H LINE (150, 200)-(175, 300), 3, BF LINE (175, 240)-(200, 260), 3, BF LINE (200, 200)-(225, 300), 3, BF 'U LINE (235, 200)-(260, 300), 3, BF LINE (260, 300)-(285, 275), 3, BF LINE (285, 300)-(310, 200), 3, BF 'N LINE (320, 200)-(345, 300), 3, BF LINE (345, 250)-(370, 300), 3 LINE (345, 200)-(370, 250), 3 LINE (370, 300)-(395, 200), 3, BF PAINT (350, 250), 3, 3 'T LINE (405, 200)-(505, 225), 3, BF LINE (442, 225)-(467, 300), 3, BF xdelay (20) 'Fadenkreuz IF sound44$ = "n" THEN PLAY "MB O1 C" END IF COLOR 14 CIRCLE (149, 301), 10 CIRCLE (149, 301), 40 CIRCLE (149, 301), 70 LINE (149, 301)-(229, 301) LINE (149, 301)-(69, 301) LINE (149, 301)-(149, 221) LINE (149, 301)-(149, 381) xdelay (40) LINE (194, 100)-(405, 240), 14, B PAINT (197, 103), 14 LINE (196, 102)-(403, 238), 3, B font 15, 550, 470, "h fuer Hilfe" GOSUB neues neues: IF sound44$ = "n" THEN PLAY "MB L20 O1 C" END IF DO font 1, 247, 125, "Hauptmenue" font 9, 223, 160, "Neues Spiel starten" font 1, 223, 180, "Mitwirkende" font 1, 223, 200, "Levelpasswort" font 1, 223, 220, "Beenden" k$ = INKEY$ SELECT CASE k$ CASE "2": GOSUB Spielsteuerung CASE CHR$(32): GOSUB start1 CASE "h": GOSUB Hilfe END SELECT LOOP Spielsteuerung: IF sound44$ = "n" THEN PLAY "MB L20 O1 C" END IF DO font 1, 247, 125, "Hauptmenue" font 1, 223, 160, "Neues Spiel starten" font 9, 223, 180, "Mitwirkende" font 1, 223, 200, "Levelpasswort" font 1, 223, 220, "Beenden" k$ = INKEY$ SELECT CASE k$ CASE "2": GOSUB Levelpasswort CASE "8": GOSUB neues CASE "h": GOSUB Hilfe CASE CHR$(32): GOSUB start2 END SELECT LOOP Levelpasswort: IF sound44$ = "n" THEN PLAY "MB L20 O1 C" END IF DO font 1, 247, 125, "Hauptmenue" font 1, 223, 160, "Neues Spiel starten" font 1, 223, 180, "Mitwirkende" font 9, 223, 200, "Levelpasswort" font 1, 223, 220, "Beenden" k$ = INKEY$ SELECT CASE k$ CASE "2": GOSUB Beenden CASE "8": GOSUB Spielsteuerung CASE "h": GOSUB Hilfe CASE CHR$(32): GOSUB start3 END SELECT LOOP Beenden: IF sound44$ = "n" THEN PLAY "MB L20 O1 C" END IF DO font 1, 247, 125, "Hauptmenue" font 1, 223, 160, "Neues Spiel starten" font 1, 223, 180, "Mitwirkende" font 1, 223, 200, "Levelpasswort" font 9, 223, 220, "Beenden" k$ = INKEY$ SELECT CASE k$ CASE "8": GOSUB Levelpasswort CASE "h": GOSUB Hilfe CASE CHR$(32): GOSUB quit END SELECT LOOP Hilfe: LINE (300, 160)-(500, 400), 3, BF LINE (302, 162)-(498, 398), 1, B DRAW "C15 BM 330,260 R120D120L120U120R40D120R40U120R40D40L120D40R120" PAINT (372, 262), 5, 15 PAINT (332, 302), 5, 15 PAINT (412, 302), 5, 15 PAINT (372, 342), 5, 15 font 15, 340, 285, "7" font 15, 380, 285, "8" font 15, 420, 285, "9" font 15, 340, 325, "4" font 15, 380, 325, "5" font 15, 420, 325, "6" font 15, 340, 365, "1" font 15, 380, 365, "2" font 15, 420, 365, "3" font 15, 304, 176, "oben - 8" font 15, 304, 190, "unten - 2" font 15, 304, 204, "links - 4" font 15, 304, 218, "rechts - 6" font 15, 304, 232, "Space - Bestaet." DO IF INKEY$ = CHR$(27) THEN CLS : GOSUB background LOOP start2: FOR i = 1 TO 550 STEP 3 CLS font 14, 260, i - 25, " Klotz v I.2" font 14, 260, i, "BK Entertaiment 2OOI" xdelay (0) IF INKEY$ = CHR$(27) THEN CLS : GOSUB background NEXT i FOR i = 1 TO 550 STEP 3 CLS font 14, 260, i - 25, " Created by" font 14, 260, i, "Benjamin Kemner" xdelay (0) IF INKEY$ = CHR$(27) THEN CLS : GOSUB background NEXT i FOR i = 1 TO 550 STEP 3 CLS font 14, 260, i - 25, " Designed by" font 14, 260, i, "Benjamin Kemner" xdelay (0) IF INKEY$ = CHR$(27) THEN CLS : GOSUB background NEXT i FOR i = 1 TO 550 STEP 3 CLS font 14, 260, i - 25, "Music & Effects by" font 14, 260, i, "Benjamin Kemner" xdelay (0) IF INKEY$ = CHR$(27) THEN CLS : GOSUB background NEXT i GOSUB background start3: LINE (165, 130)-(434, 194), 6, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, "Bitte geben sie ein Passwort ein" LOCATE 11, 25 INPUT Passwort$ IF Passwort$ = "XCAVB" THEN GOTO 15 ELSE CLS : GOSUB background DO IF INKEY$ = CHR$(27) THEN GOSUB background LOOP quit: LINE (165, 130)-(434, 194), 1, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, "Wollen sie das Spiel wirklich beenden" font 15, 245, 180, "Ja" font 5, 305, 180, "Nein" DO k$ = INKEY$ SELECT CASE k$ CASE "4": GOSUB ja CASE CHR$(32): CLS : GOTO background END SELECT LOOP ja: LINE (165, 130)-(434, 194), 1, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, "Wollen sie das Spiel wirklich beenden" font 5, 245, 180, "Ja" font 15, 305, 180, "Nein" DO k$ = INKEY$ SELECT CASE k$ CASE "6": GOSUB quit CASE CHR$(32): GOSUB ex END SELECT LOOP ex: SYSTEM END SCREEN 12 level% = 1 start1: 15 live% = 3 GOSUB loading 1 CLS GOSUB pos55 posx% = 100 'Positionsangabe posy% = 100 COLOR 15 CALL ausxy(posx%, posy%) CALL pointout(punkte%) IF live% = -1 THEN GOSUB gameover LOCATE 1, 45 PRINT "Lives:" COLOR 4 LOCATE 1, 55 PRINT live% COLOR 15 speed% = 0 'Geschwindigkeit ste% = 20 'gre der Schritte(Anzeige) sr$ = "BR20" 'Grafik (links rechts...) sl$ = "BL20" su$ = "BU20" sd$ = "BD20" 'Rahmen Zeichnen DRAW "P1,0" DRAW "BM 5,25" DRAW "D450" DRAW "R630" DRAW "U450" DRAW "U30D30" DRAW "L630" DRAW "U30R180D30U30R365D30U30" DRAW "" DRAW "BM 111,111" 'Position wird auf 1,1 gesetzt CALL objekt1 DO k$ = INKEY$ SELECT CASE k$ CASE "6": GOSUB rechts CASE "2": GOSUB unten CASE "4": GOSUB links CASE "8": GOSUB oben CASE CHR$(27): GOSUB quitgame END SELECT LOOP rechts: DO GOSUB pruefen k$ = "" CALL objektneg DRAW sr$ 'Schritt fr Grafik Declaration siehe oben posx% = posx% + ste% 'ein Schritt (fr Anzeige) CALL ausxy(posx%, posy%) CALL objekt1 k$ = INKEY$ xdelay (speed%) 'Wartezeit (spter Geschw. SELECT CASE k$ CASE "6": GOSUB rechts CASE "2": GOSUB unten CASE "8": GOSUB oben CASE CHR$(27): GOSUB quitgame END SELECT GOSUB pruefen LOOP unten: DO GOSUB pruefen k$ = "" CALL objektneg DRAW sd$ posy% = posy% + ste% CALL ausxy(posx%, posy%) CALL objekt1 k$ = INKEY$ xdelay (speed%) SELECT CASE k$ CASE "6": GOSUB rechts CASE "2": GOSUB unten CASE "4": GOSUB links CASE CHR$(27): GOSUB quitgame END SELECT GOSUB pruefen LOOP links: DO GOSUB pruefen k$ = "" CALL objektneg DRAW sl$ posx% = posx% - ste% CALL ausxy(posx%, posy%) CALL objekt1 k$ = INKEY$ xdelay (speed%) SELECT CASE k$ CASE "2": GOSUB unten CASE "4": GOSUB links CASE "8": GOSUB oben CASE CHR$(27): GOSUB quitgame END SELECT GOSUB pruefen LOOP oben: DO GOSUB pruefen k$ = "" CALL objektneg DRAW su$ posy% = posy% - ste% CALL ausxy(posx%, posy%) CALL objekt1 k$ = INKEY$ xdelay (speed%) SELECT CASE k$ CASE "6": GOSUB rechts CASE "4": GOSUB links CASE "8": GOSUB oben CASE CHR$(27): GOSUB quitgame END SELECT GOSUB pruefen LOOP ende: SYSTEM END pruefen: IF posx% > 600 THEN live% = live% - 1: GOTO 1 IF posx% < 0 THEN live% = live% - 1: GOTO 1 IF posy% > 440 THEN live% = live% - 1: GOTO 1 IF posy% < 20 THEN live% = live% - 1: GOTO 1 IF tposy% = posy% THEN pruf1% = 1 ELSE pruf1% = 0 END IF IF tposx% = posx% THEN pruf2% = 1 ELSE pruf2% = 0 END IF pruf3% = pruf1% + pruf2% IF pruf3% = 2 THEN GOSUB poschange END IF pruf1% = 0 pruf3% = 0 pruf3% = 0 CALL pointout(punkte%) RETURN poschange: punkte% = punkte% + 17 IF sound44$ = "n" THEN PLAY "MB O4 L18 C" END IF 55 RANDOMIZE TIMER level% = INT(RND * 12) + 1 SELECT CASE level% CASE 1: GOSUB untenlinks CASE 2: GOSUB untenrechts CASE 3: GOSUB obenrechts CASE 4: GOSUB obenlinks CASE 5: GOSUB zlinks CASE 6: GOSUB zrechts CASE 7: GOSUB zoben CASE 8: GOSUB zunten CASE 9: GOSUB zlinks2 CASE 10: GOSUB zrechts2 CASE 11: GOSUB zoben2 CASE 12: GOSUB zunten2 END SELECT RETURN pos55: tposx% = 460 tposy% = 40 DRAW "BM 471,51" CALL objekt RETURN 'Unterprogramme zur Zielpositionierung untenlinks: tposx% = posx% - 40: tposy% = posy% + 40: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BD40BL40": CALL objekt: DRAW "BU40BR40": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN untenrechts: tposx% = posx% + 40: tposy% = posy% + 40: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BD40BR40": CALL objekt: DRAW "BU40BL40": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN obenrechts: tposx% = posx% + 40: tposy% = posy% - 40: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BU40BR40": CALL objekt: DRAW "BD40BL40": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN obenlinks: level% = level% + 1: tposx% = posx% - 40: tposy% = posy% - 40: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BU40BL40": CALL objekt: DRAW "BD40BR40": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zlinks: tposx% = posx% - 80: tposy% = posy%: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BL80": CALL objekt: DRAW "BR80": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zrechts: tposx% = posx% + 80: tposy% = posy%: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BR80": CALL objekt: DRAW "BL80": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zoben: tposx% = posx%: tposy% = posy% - 80: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BU80": CALL objekt: DRAW "BD80": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zunten: level% = level% + 1: tposx% = posx%: tposy% = posy% + 80: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BD80": CALL objekt: DRAW "BU80": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zlinks2: tposx% = posx% - 200: tposy% = posy%: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BL200": CALL objekt: DRAW "BR200": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zrechts2: tposx% = posx% + 200: tposy% = posy%: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BR200": CALL objekt: DRAW "BL200": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zoben2: tposx% = posx%: tposy% = posy% - 200: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BU200": CALL objekt: DRAW "BD200": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN zunten2: level% = level% + 1: tposx% = posx%: tposy% = posy% + 200: IF tposx% > 600 THEN GOTO 55 IF tposx% < 0 THEN GOTO 55 IF tposy% > 440 THEN GOTO 55 IF tposy% < 20 THEN GOTO 55 DRAW "BD200": CALL objekt: DRAW "BU200": pruf1% = 0: pruf3% = 0: pruf3% = 0 RETURN gameover: CLS LOCATE 13, 23 PRINT " Es wurden "; punkte%; " Punkte erreicht" SLEEP CLS IF sound44$ = "n" THEN PLAY "MB O2 L5 BAGFEDC" END IF FOR i = 1 TO 13 CLS LOCATE i, 35 COLOR 4 PRINT "GAME OVER" xdelay (0) NEXT i xdelay (1) FOR i = 13 TO 30 CLS LOCATE i, 35 COLOR 4 PRINT "GAME OVER" xdelay (0) NEXT i GOSUB nochmal loading: punkte% = 0 CLS COLOR 14 LOCATE 13, 35 PRINT "loading." xdelay (3) LOCATE 13, 35 PRINT "loading.." xdelay (3) LOCATE 13, 35 PRINT "loading..." xdelay (3) LOCATE 13, 35 PRINT "loading...." xdelay (3) LOCATE 13, 35 PRINT "loading....." xdelay (3) LOCATE 13, 35 PRINT "loading......" xdelay (3) CLS RETURN nochmal: LINE (165, 130)-(434, 194), 1, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, "Wollen sie nochmal spielen" font 15, 245, 180, "Ja" font 5, 305, 180, "Nein" DO k$ = INKEY$ SELECT CASE k$ CASE "4": GOSUB jano CASE CHR$(32): CLS : GOSUB background END SELECT LOOP jano: LINE (165, 130)-(434, 194), 1, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, "Wollen sie nochmal spielen" font 5, 245, 180, "Ja" font 15, 305, 180, "Nein" DO k$ = INKEY$ SELECT CASE k$ CASE "6": GOSUB nochmal CASE CHR$(32): GOTO 15 END SELECT LOOP background: COLOR 3 CLS 'K LINE (50, 50)-(75, 150), 1, BF LINE (100, 50)-(75, 100), 1 LINE (75, 100)-(100, 150), 1 LINE (100, 150)-(125, 150), 1 LINE (125, 150)-(100, 100), 1 LINE (100, 100)-(125, 50), 1 LINE (125, 50)-(100, 50), 1 PAINT (105, 55), 1, 1 'L LINE (140, 50)-(165, 150), 1, BF LINE (165, 150)-(195, 125), 1, BF 'O LINE (210, 50)-(235, 150), 1, BF LINE (235, 150)-(265, 125), 1, BF LINE (265, 150)-(290, 50), 1, BF LINE (290, 50)-(210, 75), 1, BF 'T LINE (305, 50)-(405, 75), 1, BF LINE (342, 75)-(367, 150), 1, BF 'Z LINE (410, 50)-(510, 75), 1, BF LINE (410, 125)-(510, 150), 1, BF LINE (510, 75)-(435, 125), 1 LINE (485, 75)-(410, 125), 1 PAINT (415, 124), 1 'H LINE (150, 200)-(175, 300), 3, BF LINE (175, 240)-(200, 260), 3, BF LINE (200, 200)-(225, 300), 3, BF 'U LINE (235, 200)-(260, 300), 3, BF LINE (260, 300)-(285, 275), 3, BF LINE (285, 300)-(310, 200), 3, BF 'N LINE (320, 200)-(345, 300), 3, BF LINE (345, 250)-(370, 300), 3 LINE (345, 200)-(370, 250), 3 LINE (370, 300)-(395, 200), 3, BF PAINT (350, 250), 3, 3 'T LINE (405, 200)-(505, 225), 3, BF LINE (442, 225)-(467, 300), 3, BF 'Fadenkreuz PLAY "" COLOR 14 CIRCLE (149, 301), 10 CIRCLE (149, 301), 40 CIRCLE (149, 301), 70 LINE (149, 301)-(229, 301) LINE (149, 301)-(69, 301) LINE (149, 301)-(149, 221) LINE (149, 301)-(149, 381) LINE (194, 100)-(405, 240), 14, B PAINT (197, 103), 14 LINE (196, 102)-(403, 238), 3, B font 15, 550, 470, "h fuer Hilfe" GOSUB neues quitgame: LINE (165, 130)-(434, 194), 1, BF LINE (167, 132)-(432, 192), 14, B font 15, 169, 148, " Das Spiel wird beendet!" font 5, 275, 180, "OK" DO k$ = INKEY$ SELECT CASE k$ CASE CHR$(32): CLS : GOSUB background END SELECT LOOP SUB ausxy (posx%, posy%) LOCATE 1, 70 PRINT posx% LOCATE 1, 75 PRINT posy% END SUB SUB font (col, locx, locy, text$) a$ = "BM+8,0U6E2R1F2D3L5R5D3BL5" b$ = "BM+8,0U8R3F2G2L2R2F2G2L3" c$ = "BM+8,0BR4L3H2U4E2R3BD8BL5" d$ = "BM+8,0U8R3F2D4G2L3" e$ = "BM+8,0U8R5L5D4R3L3D4R5BL5" F$ = "BM+8,0U8R5L5D4R3BL4BD4" g$ = "BM+8,0BU2U4E2RF2BD4BL5F2RE2U1L2BD3BL3B" h$ = "BM+8,0U8D4R5U4D8BL5" i$ = "BM+9,0U8BD8BL6BM+2,0" j$ = "BM+8,0BU2F2R1E2U6BD8BL5" k$ = "BM+8,0U8D4NF4NE4RBL2BD4" l$ = "BM+8,0NU8R5BL5" m$ = "BM+8,0U8F3E3D8BL5" n$ = "BM+8,0U8RD2RD2RD2RD2RU8BD8BL5" O$ = "BM+8,0BR2RE2U4H2L2G2D4NF2BD2BR" p$ = "BM+8,0U8R3F2G2L3BD4" q$ = "BM+9,0BR2RE2U4H2L2G2D4F2RNF2BL2" r$ = "BM+8,0U8R3F2G2L2F4BL5" s$ = "BM+8,0BU8BR5BD2H2LG2F2RF2G2LNH2BL2" t$ = "BM+7,0BR3U8R3L6BD8BR" u$ = "BM+8,0BU8D6F2R2E2U6BD8BL5" v$ = "BM+8,0BU3F3E3U5BL6D5BD3BR" w$ = "BM+8,0NU8E3F3U8BD8BL5" x$ = "BM+8,0UE6UBD8UH6UBD8BR" y$ = "BM+7,0BR3U4H3NUF3E3UBD8BL5" z$ = "BM+8,0NR5U2E5UL5BD8" ae$ = "BM+8,0U6E2R1F2D3L5R5D3BL5BU10NU0BR5NU0BD10BL4" oe$ = "BM+8,0BR2RE2U4H2L2G2D4NF2BD2BU10NU0BR6NU0BD10BL4" ' ue$ = "BM+8,0BU8D6F2R2E2U6BD8BL5BU10NU0BR4NU0BD10BL4" ' point$ = "BM+8,0R0BL4" komma$ = "BM+9,0BUDGBU2BL4BD" dpoint$ = "BM+8,0R0BU5R0BD5BL3" lspace$ = "BM+5,0" line$ = "BM+8,0BU4NR4BD4BL" n1$ = "BM+8,0BU5E2URD8BL4" n2$ = "BM+8,0BU6E2RF2D2G4R4BL4" n3$ = "BM+8,0BU6E2RF2G2NLF2G2LH2BD2BR" n4$ = "BM+8,0BU8D4R5BL2U2D6BL3" n5$ = "BM+8,0BU4U4NR4BD4R3FD2GL3" n6$ = "BM+8,0BUU5E2RBL3BD7FR2EU2HL2BD4BL" n7$ = "BM+8,0BU7UR4D3G2D3BL2" n8$ = "BM+8,0BRR2EU2HL2GD2NFBU4U2ER2FD2BD5BL4" n9$ = "BM+8,0BRR1E2U5HL2GD2FR2BD4BL3" n0$ = "BM+8,0BU2U4E2RF2D4G2LH2D2BR" ka$ = "BM+8,BR2R2E2U2D4U6D2H2L2G2D2F2BL2BM+1,0" kb$ = "BM+8,U10D6E2R2F2D2G2L2H2BD2BM+1,0" kc$ = "BM+8,BR2R2E1BG1BL2H2U2E2R2F1D1BL5BD4" kd$ = "BM+8,BR2R2E2U2D4U10D6H2L2G2D2F2BL" ke$ = "BM+8,BR2R2E1BG1BL2H2U2E2R2F2D1L5BD3" kf$ = "BM+6,BR4U8E1R1L1G1D3L2R2R2L2D5BR4BM-7,0" kg$ = "BM+8,BR2R2E2U2D4U6D2H2L2G2D2F2R2E2D4G1L3H1BU2BL1BM+1,0" kh$ = "BM+9,U9D5E2R2F1D5BL5" ki$ = "BM+9,U5BU2U1BD8BM-5,0" kj$ = "BM+8,U5BU2U1BD8D2G1L1BR1BH1BU2BM-3,0" kk$ = "BM+8,U10D8E3G3U1F3H3BD3BM-2,0" kl$ = "BM+8,U8D8BM-5,0" km$ = "BM+8,U6D1E1R2F1D5U5E1R2F1D5BL4BM-1,0" kn$ = "BM+8,U6D1E1R2F1D5BL2BM-2,0" ko$ = "BM+8,BR2R2E2U2H2L2G2D2F2BL2BM+1,0" kp$ = "BM+8,BR2R2E2D6U10D2H2L2G2D2F2BL2BM+1,0" kq$ = "BM+8,D4U10D6BR2R2E2U2H2L2G2D2F2BL2BM+1,0" kr$ = "BM+8,U6D2E2R1BL3BD6BM-3,0" ks$ = "BM+8,BU1F1R2E1U1H1L2H1U1E1R2F1BD5BL4BM-1,0" kt$ = "BM+6,BR4U8D3L2R2R2L2D5BR4BM-7,0" ku$ = "BM+8,BU1U5D5F1R2E1U5BL4BD6BM-1,0" kv$ = "BM+8,BU6D4F2E2U4BL4BD6BM-1,0" kw$ = "BM+8,U6D6E2F2U6BD6BL5" kx$ = "BM+8,BU6D1F4D1BU6D1G4D1BM-1,0" ky$ = "BM+8,BU6D1F2D3U3E2U1BD6BL4BM-1,0" kz$ = "BM+8,BU6R4D1G4D1R4BL4" z = 1 x = 1 x2$ = STR$(locx) y1$ = STR$(locy) loc$ = " " MID$(loc$, 1) = x2$ MID$(loc$, 5) = "," MID$(loc$, 6) = y1$ loca$ = "BM " MID$(loca$, 5) = loc$ DRAW loca$ col$ = STR$(col) colo$ = "C " MID$(colo$, 2) = col$ DRAW colo$ stringlengh = LEN(text$) FOR z = 1 TO stringlengh IF MID$(text$, z, x) = "0" THEN DRAW n0$: GOTO jump IF MID$(text$, z, x) = "A" THEN DRAW a$: GOTO jump IF MID$(text$, z, x) = "B" THEN DRAW b$: GOTO jump IF MID$(text$, z, x) = "C" THEN DRAW c$: GOTO jump IF MID$(text$, z, x) = "D" THEN DRAW d$: GOTO jump IF MID$(text$, z, x) = "E" THEN DRAW e$: GOTO jump IF MID$(text$, z, x) = "F" THEN DRAW F$: GOTO jump IF MID$(text$, z, x) = "G" THEN DRAW g$: GOTO jump IF MID$(text$, z, x) = "H" THEN DRAW h$: GOTO jump IF MID$(text$, z, x) = "I" THEN DRAW i$: GOTO jump IF MID$(text$, z, x) = "J" THEN DRAW j$: GOTO jump IF MID$(text$, z, x) = "K" THEN DRAW k$: GOTO jump IF MID$(text$, z, x) = "L" THEN DRAW l$: GOTO jump IF MID$(text$, z, x) = "M" THEN DRAW m$: GOTO jump IF MID$(text$, z, x) = "N" THEN DRAW n$: GOTO jump IF MID$(text$, z, x) = "O" THEN DRAW O$: GOTO jump IF MID$(text$, z, x) = "P" THEN DRAW p$: GOTO jump IF MID$(text$, z, x) = "Q" THEN DRAW q$: GOTO jump IF MID$(text$, z, x) = "R" THEN DRAW r$: GOTO jump IF MID$(text$, z, x) = "S" THEN DRAW s$: GOTO jump IF MID$(text$, z, x) = "T" THEN DRAW t$: GOTO jump IF MID$(text$, z, x) = "U" THEN DRAW u$: GOTO jump IF MID$(text$, z, x) = "V" THEN DRAW v$: GOTO jump IF MID$(text$, z, x) = "W" THEN DRAW w$: GOTO jump IF MID$(text$, z, x) = "X" THEN DRAW x$: GOTO jump IF MID$(text$, z, x) = "Y" THEN DRAW y$: GOTO jump IF MID$(text$, z, x) = "Z" THEN DRAW z$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW ae$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW oe$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW ue$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW ae$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW oe$: GOTO jump IF MID$(text$, z, x) = "" THEN DRAW ue$: GOTO jump IF MID$(text$, z, x) = " " THEN DRAW lspace$: GOTO jump IF MID$(text$, z, x) = "." THEN DRAW point$: GOTO jump IF MID$(text$, z, x) = "," THEN DRAW komma$: GOTO jump IF MID$(text$, z, x) = ":" THEN DRAW dpoint$: GOTO jump IF MID$(text$, z, x) = "-" THEN DRAW line$: GOTO jump IF MID$(text$, z, x) = "1" THEN DRAW n1$: GOTO jump IF MID$(text$, z, x) = "2" THEN DRAW n2$: GOTO jump IF MID$(text$, z, x) = "3" THEN DRAW n3$: GOTO jump IF MID$(text$, z, x) = "4" THEN DRAW n4$: GOTO jump IF MID$(text$, z, x) = "5" THEN DRAW n5$: GOTO jump IF MID$(text$, z, x) = "6" THEN DRAW n6$: GOTO jump IF MID$(text$, z, x) = "7" THEN DRAW n7$: GOTO jump IF MID$(text$, z, x) = "8" THEN DRAW n8$: GOTO jump IF MID$(text$, z, x) = "9" THEN DRAW n9$: GOTO jump IF MID$(text$, z, x) = "a" THEN DRAW ka$: GOTO jump IF MID$(text$, z, x) = "b" THEN DRAW kb$: GOTO jump IF MID$(text$, z, x) = "c" THEN DRAW kc$: GOTO jump IF MID$(text$, z, x) = "d" THEN DRAW kd$: GOTO jump IF MID$(text$, z, x) = "e" THEN DRAW ke$: GOTO jump IF MID$(text$, z, x) = "f" THEN DRAW kf$: GOTO jump IF MID$(text$, z, x) = "g" THEN DRAW kg$: GOTO jump IF MID$(text$, z, x) = "h" THEN DRAW kh$: GOTO jump IF MID$(text$, z, x) = "i" THEN DRAW ki$: GOTO jump IF MID$(text$, z, x) = "j" THEN DRAW kj$: GOTO jump IF MID$(text$, z, x) = "k" THEN DRAW kk$: GOTO jump IF MID$(text$, z, x) = "l" THEN DRAW kl$: GOTO jump IF MID$(text$, z, x) = "m" THEN DRAW km$: GOTO jump IF MID$(text$, z, x) = "n" THEN DRAW kn$: GOTO jump IF MID$(text$, z, x) = "o" THEN DRAW ko$: GOTO jump IF MID$(text$, z, x) = "p" THEN DRAW kq$: GOTO jump IF MID$(text$, z, x) = "q" THEN DRAW kp$: GOTO jump IF MID$(text$, z, x) = "r" THEN DRAW kr$: GOTO jump IF MID$(text$, z, x) = "s" THEN DRAW ks$: GOTO jump IF MID$(text$, z, x) = "t" THEN DRAW kt$: GOTO jump IF MID$(text$, z, x) = "u" THEN DRAW ku$: GOTO jump IF MID$(text$, z, x) = "v" THEN DRAW kv$: GOTO jump IF MID$(text$, z, x) = "w" THEN DRAW kw$: GOTO jump IF MID$(text$, z, x) = "x" THEN DRAW kx$: GOTO jump IF MID$(text$, z, x) = "y" THEN DRAW ky$: GOTO jump IF MID$(text$, z, x) = "z" THEN DRAW kz$: GOTO jump jump: NEXT z endfont: END SUB SUB objekt DRAW "P4,0 R17D17L17U17F17L17E17L17" END SUB SUB objekt1 DRAW "P1,0" DRAW "R17D17L17U17F17L17E17L17 P1,0" END SUB SUB objektneg DRAW "P0,0" DRAW "R17D17L17U17F17L17E17L17 P0,0" END SUB SUB pointout (punkte%) COLOR 15 LOCATE 1, 5 PRINT "Score: " LOCATE 1, 15 PRINT punkte% END SUB SUB startpos DRAW "BM18,1" END SUB SUB target DRAW "R17D17L17U17 P4,0" END SUB SUB xdelay (ticks) REM Delay routiene,da SLEEP zu langsamm ist xdelay1: a = TIMER xdelay2: IF a = TIMER THEN GOTO xdelay2 IF ticks > 0 THEN ticks = ticks - 1: GOTO xdelay1 END SUB