image of READY prompt

Wang2200.org

Listing of file='CRYPTOB' on disk='vmedia/games-droz01.wvd.zip'

# Sector 370, program filename = 'CRYPTOB'
0010 REM "CRYPTOB" T.OLSEN  WANG LABS 2200 R&D  4/10/75
   : F9$="CRYPTOGRAM GAME"
0020 DIM A1$64,A2$64,P$64,C1$64,X$1,A$64,B$64,C$64,E$26,F$26,Z$1
0030 DIM K$1,Q9$64
   : INIT(09)Q9$
   : STR(Q9$,1,1)=HEX(00)
   : M9=2000
0040 REM A$="SOURCE TEXT"
   : REM B$="ENCRYPTED TEXT"
   : REM C$="YOUR SOLUTION"
0050 SELECT PRINT 005(64)
   : PRINT HEX(03)
0060 % TRIES MADE=####  CORRECT=##  CLUES=##  SCORE=####
0070 GOSUB 80
   : STOP "KEY IN APPROPRIATE FUNCTION"
0080 PRINT HEX(010A0A0A0A0A0A0A)
0090 PRINT F9$;" FUNCTION KEYS ARE INPUT COMMANDS"
0100 PRINT "LETTERS CORRECT=";STR(F$,1,26)
0110 PRINT "POSITION CURSOR UNDER THE LETTER AND TYPE YOUR GUESS."
0120 PRINT "CURSOR CONTROL '11=5 RIGHT  '12=1 RIGHT  '13=1 LEFT  '14=5 LEFT"
0130 PRINT "CLUES          '0 ANY (=7 TRIES)         '1 SPECIFIC (=10 TRIES)"
0140 PRINT
   : PRINT "FUNCTIONS BELOW ARE LOCKED OUT EXCEPT AFTER STOP OR RESET"
0150 PRINT "'1-14 AND 16-31 CANNED PHRASES   '15=ENTER A NEW PHRASE";HEX(01)
0160 RETURN
   : %SOLUTION ENTRY
0170 SELECT PRINT 405
   : PRINT HEX(010A0A);STR(Q9$,1,K);
   : SELECT PRINT 005
   : IF STR(C$,K,1)<>" "THEN 210
   : IF STR(B$,K,1)=" "THEN 210
0180 KEYIN K$,240,190
   : M=M+1
   : IF M<M9THEN 180
   : SELECT PRINT 005
   : RETURN
0190 ON VAL(K$)-10GOTO 200,210,230,220
   : ON VAL(K$)+1GOTO 610,600
   : GOTO 180
0200 K=K+4
0210 K=K+1
   : IF K<=LTHEN 170
   : K=1
   : GOTO 170
0220 K=K-4
0230 K=K-1
   : IF K>1THEN 260
   : K=1
   : GOTO 170
0240 IF K$=HEX(08)THEN 230
   : IF K$=" "THEN 210
   : IF K$<"A"THEN 180
   : IF K$>"Z"THEN 270
0250 SELECT PRINT 005
   : PRINT K$
   : PRINT K$;" FOR ";STR(B$,K,1);" ";
   : RETURN
0260 PRINT HEX(010A0A);STR(Q9$,1,K);
   : IF STR(C$,K,1)<>" "THEN 230
   : IF STR(B$,K,1)=" "THEN 230
   : GOTO 180
0270 PRINT HEX(010A0A0A);"MAKE SURE YOUR KEYBOARD SWITCH IS UPPER CASE ENTRY";
     TAB(63)
   : GOTO 170
0280 DEFFN'15
   : PRINT HEX(03),F9$
0290 PRINT "TYPE A PHRASE ON ONE LINE WHICH WILL BE ENCRYPTED"
0300 A$=" "
   : INPUT A$
   : %PHRASE ENCODING
0310 L=LEN(A$)
   : B$,C$=" "
   : K=1
   : X$=HEX(FF)
0320 PRINT HEX(03);"TO GET A BLOCKED CRYPTO KEY S.F.'00 BEFORE THE PHRASE APPE
     ARS"
   : PRINT "RANDOMIZING"
0330 FOR C=1 TO L
   : T=RND(1)
   : NEXT C
0340 PRINT "BUSY ENCRYPTING ";
0350 REM ENCRYPT ALPHABET
   : GOSUB 690
   : REM ENCRYPT PHRASE
   : GOSUB 750
0360 KEYIN X$,370,370
   : %--BLOCKING
0370 A2$=A$
   : IF X$<>HEX(00)THEN 430
   : PRINT "BLOCKING IN ";
   : S=2*S
   : W=1
   : REM SQUEEZE OUT SPACES
0380 X=POS(STR(A$,1,LEN(A$))=" ")
   : IF X=0THEN 400
   : C=LEN(A$)-X+1
0390 STR(A$,X,C)=STR(A$,X+1,C)
   : STR(B$,X,C)=STR(B$,X+1,C)
   : STR(C$,X,C)=STR(C$,X+1,C)
   : GOTO 380
   : REM DETERMINE BLOCK
0400 L=LEN(A$)
   : A1$=A$
   : P$=B$
   : C1$=C$
   : A$,B$,C$=" "
   : W=INT(64/(65-L))
   : T=1
   : IF W>4THEN 410
   : W=4
0410 W=W+INT(4*RND(1))
   : PRINT W
   : FOR X=1 TO L-WSTEP W
   : STR(A$,T,W)=STR(A1$,X)
   : STR(B$,T,W)=STR(P$,X)
   : STR(C$,T,W)=STR(C1$,X)
   : T=T+W+1
   : NEXT X
0420 X=X+W
   : STR(A$,T)=STR(A1$,X)
   : STR(B$,T)=STR(P$,X)
   : STR(C$,T)=STR(C1$,X)
   : L=LEN(A$)
0430 PRINT HEX(03);
   : M,C,T,T1=0
   : F$=" "
   : %CRYPTO DISPLAY
0440 DEFFN'0
   : SELECT PRINT 005
   : GOSUB 80
   : PRINT HEX(01);"ENCRYPTED PHRASE="
   : PRINT B$
   : PRINT C$
0450 GOSUB 170
   : IF M>=M9THEN 485
   : Z$=STR(B$,K,1)
0460 X=VAL(K$)-64
   : IF X*(27-X)<1 THEN 440
0470 T=T+1
   : IF Z$=STR(E$,X,1)THEN 490
0480 P$="YOU MISSED"
   : S=S-P
   : GOTO 530
0485 PRINT
   : P$="TIME OUT"
   : S=S-P
   : GOTO 530
0490 P$="CORRECT"
   : K=K+1
   : T1=T1+1
0500 INIT(Z$)C1$
   : XOR (C1$,B$)
0510 W=POS(C1$=00)
   : IF W=0 THEN 520
   : STR(C1$,W,1),STR(C$,W,1)=K$
   : GOTO 510
0520 STR(F$,VAL(K$)-64,1)=K$
0530 PRINT P$;TAB(64)
   : M=0
0540 PRINTUSING 60,T,T1,C,S;
   : PRINT TAB(64)
   : PRINT TAB(63);
   : IF A$<>C$THEN 595
   : IF X$<>HEX(00)THEN 550
   : C$=A2$
0550 SELECT PRINT 005
   : PRINT HEX(01);"COMPLETED PHRASE=";TAB(64)
   : PRINT C$;TAB(64)
0560 PRINT "YOU FINISHED";TAB(63)
0570 PRINT TAB(63)
   : PRINT TAB(63)
   : PRINT TAB(63)
   : PRINT HEX(0C0C0C)
0580 PRINTUSING 60,T,T1,C,S;
   : PRINT TAB(64);HEX(0C);
0590 STOP "KEY A SPECIAL FUNCTION TO GET A NEW PHRASE"
0595 IF S>0THEN 440
   : PRINT HEX(0C);
   : STOP "YOU ARE NOT SERIOUS ABOUT THIS -- GIVE SOMEONE ELSE A TRY"
   : %CLUE
0600 IF STR(C$,K,1)<>" "THEN 180
   : IF STR(A$,K,1)=" "THEN 180
   : C=C+1
   : Y=K
   : S=S-(10*P)
   : GOTO 650
0610 C=C+1
   : S=S-(7*P)
0620 Y=INT(L*RND(1))+1
0630 IF STR(C$,Y,1)<>" "THEN 620
0640 IF STR(A$,Y,1)=" "THEN 620
0650 K$=STR(A$,Y,1)
   : Z$=STR(B$,Y,1)
0660 PRINT HEX(010A0A0A);
0670 P$="CLUE--  FOR"
   : STR(P$,7,1)=K$
   : STR(P$,13,1)=Z$
0680 GOTO 500
   : %ENCRYPT ALPHABET
0690 E$=" "
   : PRINT "THE ALPHABET";
0700 FOR X=1 TO 26
0710 Y=INT(26*RND(1))+1
0720 IF STR(E$,Y,1)<>" " THEN 710
0730 BIN(STR(E$,Y))=X+64
0740 NEXT X
   : RETURN
   : %ENCRYPT PHRASE
0750 C$,B$=A$
   : PRINT " THE PHRASE"
   : S=1000
   : P=S/L
0760 FOR W=1 TO L
0770 X=VAL(STR(A$,W))-64
   : IF X*(27-X)<1 THEN 790
0780 STR(B$,W,1)=STR(E$,X)
   : STR(C$,W,1)=" "
0790 NEXT W
   : RETURN
   : %CANNED PHRASES
0800 DEFFN'1
0810 A$="FORE-SCORE AND SEVEN SHOTS AGO.  TEE TALKING"
0820 GOTO 310
0830 DEFFN'2
0840 A$="THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG'S BACK."
0850 GOTO 310
0860 DEFFN'3
0870 A$="THE WANG 2200-B IS ABLE TO PLAY CRYPTO GAMES."
0880 GOTO 310
0890 DEFFN'4
0900 A$="WE CAN ALSO DO PAYROLLS, INVENTORY, TEACHING AIDS, PLUS"
0910 GOTO 310
0920 DEFFN'5
0930 A$="USE AN ACE AXE TO RUN KIDS OFF OF YOUR BIKE PATH."
0940 GOTO 310
0950 DEFFN'6
0960 A$="NOBODY SHOOTS AT SANTA CLAUS. ALFRED E. SMITH"
0970 GOTO 310
0980 DEFFN'7
0990 A$="NO MATTER HOW THIN YOU SLICE IT, IT'S STILL BOLONEY."
1000 GOTO 310
1010 DEFFN'8
1020 A$="THOUGH IT BE HONEST, IT IS NEVER GOOD TO BRING BAD NEWS."
1030 GOTO 310
1040 DEFFN'9
1050 A$="GOOD WINE IS A GOOD FAMILIAR CREATURE IF IT BE WELL USED."
1060 GOTO 310
1070 DEFFN'10
1080 A$="FAULTILY FAULTLESS, ICILY REGULAR, SPLENDIDLY NULL. MAUD."
1090 GOTO 310
1100 DEFFN'11
1110 A$="POETS ARE THE HIEROPHANTS OF AN UNAPPREHENDED INSPIRATION."
1120 GOTO 310
1130 DEFFN'12
1140 A$="IS THERE SUCH A WORD AS ANTIDISESTABLISHMENTARIANISM?"
1150 GOTO 310
1160 DEFFN'13
1170 A$="THE LETTERS OF THE ALPHABET ARE 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"
1180 GOTO 310
1190 DEFFN'14
1200 A$="A PRIVATE BUFFOON IS A LIGHT-HEARTED LOON.  W.S. GILBERT"
   : GOTO 310
1210 DEFFN'17
1220 A$="LOUD LAMB BAAS SEND ECHO OVER THIS FIVE ACRE FARM UNIT."
1230 GOTO 310
1240 DEFFN'18
1250 A$="ABLE WAS I ERE I SAW ELBA.  NAPOLEON BONAPARTE"
1260 GOTO 310
1270 DEFFN'19
1280 A$="SATOR, AREPO, TENET, OPERA, ROTAS.  MAGIC SQUARE"
1290 GOTO 310
1300 DEFFN'20
1310 A$="ALASKAN USED IVORY OF WALRUS TUSK FOR NEW CARVED CURIOSITY."
1320 GOTO 310
1330 DEFFN'21
1340 A$="REALIZE THE IDEAL; IDEALIZE THE REAL."
1350 GOTO 310
1360 DEFFN'22
1370 A$="CORPULENT DERELICT COURTED OPULENT RELICT."
1380 GOTO 310
1390 DEFFN'23
1400 A$="RUMBA, SAMBA BOTH RIGHT MAD, BUT I DIG MOST THAT MAMBO."
1410 GOTO 310
1420 DEFFN'24
1430 A$="HIS FROZEN ASSETS CONSISTED OF FREEZER KEPT STACKS OF STEAKS."
1440 GOTO 310
1450 DEFFN'25
1460 A$="WE SHIRK IRKSOME HOMEWORK."
1470 GOTO 310
1480 DEFFN'26
1490 A$="CRISP CRYPTS STYMIE ME."
1500 GOTO 310
1510 DEFFN'27
1520 A$="BAGGY CLOTHES DECREED BY THE HAUTE COUTURE ARE GHASTLY."
1530 GOTO 310
1540 DEFFN'28
1550 A$="MEDIUM ABJURED OUIJA BOARD"
1560 GOTO 310
1570 DEFFN'29
1580 A$="OUR HEP JAVA FINCHES JUMP FIVE INCHES FROM PERCH."
1590 GOTO 310
1600 DEFFN'30
1610 A$="HORSESHOER QUIT QUOITS."
1620 GOTO 310
1630 DEFFN'31
1640 A$="QUAKING SKIN DIVER AVOIDS TAKING GROTESQUE SQUID."
1650 GOTO 310