' Diagnonaltext DECLARE SUB DiagPrint (txt$, richt$) COLOR 13, 0 CLS LOCATE 3, 10 DiagPrint "QBasic", "so" COLOR 2 DiagPrint "ist", "sw" COLOR 12 DiagPrint "sch”n!", "nw" COLOR 4 DiagPrint "Und wir", "s" COLOR 9 DiagPrint "schreiben in alle", "o" COLOR 11 DiagPrint "m”glichen", "n" COLOR 6 DiagPrint "Richtungen!", "w" SUB DiagPrint (txt$, richt$) SELECT CASE LCASE$(richt$) CASE "n" dx% = 0 dy% = -1 CASE "no" dx% = 1 dy% = -1 CASE "o" dx% = 1 dy% = 0 CASE "so" dx% = 1 dy% = 1 CASE "s" dx% = 0 dy% = 1 CASE "sw" dx% = -1 dy% = 1 CASE "w" dx% = -1 dy% = 0 CASE "nw" dx% = -1 dy% = -1 CASE ELSE PRINT "Unzul„ssig" ERROR 5 END SELECT x% = POS(5) y% = CSRLIN FOR i% = 1 TO LEN(txt$) LOCATE y% + (i% - 1) * dy%, x% + (i% - 1) * dx% PRINT MID$(txt$, i%, 1); NEXT i% ' Nur, damit Ausgabe direkt fortgesetzt werden kann LOCATE y% + LEN(txt$) * dy%, x% + LEN(txt$) * dx% END SUB