c64-basic/cipher-wheel/cipher-wheel.bas

23 lines
795 B
QBasic

10 PRINT CHR$(147):PRINT " CIPHER WHEEL":PRINT
20 PRINT "ENCODE OR DECODE A SECRET MESSAGE"
30 PRINT "WITH A CLASSIC CAESAR SHIFT.":PRINT
40 PRINT "PRESS ANY KEY"
50 GET A$:IF A$="" THEN 50
60 PRINT CHR$(147):PRINT "E=ENCODE D=DECODE Q=QUIT"
70 GET M$:IF M$="" THEN 70
80 IF M$="Q" THEN 230
90 IF M$<>"E" AND M$<>"D" THEN 70
100 INPUT "SHIFT (1-25)";S:IF S<1 OR S>25 THEN 100
110 IF M$="D" THEN S=-S
120 INPUT "MESSAGE";A$:B$=""
130 FOR I=1 TO LEN(A$):C=ASC(MID$(A$,I,1))
140 IF C<65 OR C>90 THEN B$=B$+CHR$(C):GOTO 170
150 C=C+S:IF C>90 THEN C=C-26
160 IF C<65 THEN C=C+26
165 B$=B$+CHR$(C)
170 NEXT:PRINT:PRINT "RESULT:":PRINT B$:PRINT
180 PRINT "N=NEW MESSAGE R=RESTART Q=QUIT"
190 GET A$:IF A$="N" THEN 120
200 IF A$="R" THEN RUN
210 IF A$<>"Q" THEN 190
230 PRINT CHR$(147):END