home *** CD-ROM | disk | FTP | other *** search
/ PC Media 3 / PC MEDIA CD03.iso / share / prog / breakit_ / breakit_.bas (.txt) next >
Encoding:
GW-BASIC  |  1993-01-23  |  4.3 KB  |  182 lines

  1. 10  KEY OFF
  2. 20  RANDOMIZE TIMER
  3. 30  DIM C$(100,100)
  4. 40  DIM N$(100)
  5. 50  N$(1)="XXX"
  6. 60  NUM=3
  7. 70  Q=1
  8. 80  REM LOAD CODES
  9. 90  CLS
  10. 100  Q=1
  11. 105  LOCATE 12,23:INPUT "DRIVE\PATH OF CODEFILE: ",DRIVE$
  12. 110  OPEN DRIVE$+"\CODEFILE.FIL" FOR INPUT AS #1
  13. 120  INPUT #1,E$:N$(Q)=E$
  14. 130  IF N$(Q)="XXX" THEN 170
  15. 140  FOR X=1 TO 37
  16. 150  INPUT #1,E$:C$(Q,X)=E$:NEXT X
  17. 160  Q=Q+1:GOTO 120
  18. 170  CLOSE #1
  19. 180  CLS:ON NUM GOTO 830,1190,190
  20. 190  O=1
  21. 200  DIM Z$(37),A$(37),O$(37)
  22. 210  CLS
  23. 220  REM INITIALIZE
  24. 230  FOR C=1 TO 37
  25. 240  READ X$:Z$(C)=X$
  26. 250  NEXT C
  27. 260  SCREEN 7
  28. 270  COLOR 10:WIDTH 40:LOCATE 12,12
  29. 280  PRINT "BREAK-IT! 1.1"
  30. 290  COLOR 15:PSET(85,25)
  31. 300  DRAW "D45R10U15R20D15R10U45L40"
  32. 310  PSET(95,35):DRAW"D10R20U10L20"
  33. 320  PSET(105,80)
  34. 330  DRAW"H10L10F10R10U15H10F10R10"
  35. 340  PSET(135,80)
  36. 350  DRAW "H10L10F10R10U45H10"
  37. 360  PSET(95,35):DRAW"F10"
  38. 370  COLOR 14:LOCATE 7,20:PRINT "="
  39. 380  COLOR 9:LOCATE 7,22:PRINT "?"
  40. 390  COLOR 15
  41. 400  R=INT(RND(1)*14)+1
  42. 410  R2=INT(RND(1)*2)+7
  43. 420  PAINT (87,68),R,15
  44. 430  PAINT (90,72),R2,15
  45. 440  PAINT (100,65),R2,15
  46. 450  PAINT (105,62),R2,15
  47. 460  PAINT (125,74),R2,15
  48. 470  PAINT (130,50),R2,15
  49. 480  PAINT (105,40),R2,15
  50. 490  PAINT (98,41),R2,15
  51. 500  LOCATE 24,8:PRINT "PRESS A KEY TO CONTINUE";
  52. 510  A$=INKEY$:IF A$<>"" THEN 550
  53. 520  AC=AC+1
  54. 530  IF AC/500=INT(AC/500) THEN 400
  55. 540  GOTO 510
  56. 550  SCREEN 0:WIDTH 80:CLS
  57. 560  PRINT "I WILL ASK YOU WHAT THE CODE SYMBOLS WILL BE. THEN WHEN YOU HAVE"
  58. 570  PRINT "INPUTTED ALL THE CODE SYMBOLS YOU WILL BE ABLE TO MAKE A MESSAGE"
  59. 580  PRINT "IN YOUR CIPHER."
  60. 590  PRINT "OR YOU MAY DECODE THE OTHER WAY."
  61. 600  INPUT "(E)NCODE, (D)ECODE, OR (R)ETRIEVE CODE";ANSWER$
  62. 610  IF ANSWER$="D" THEN 1030
  63. 620  IF ANSWER$="R" THEN NUM=1:GOTO 1560
  64. 630  GOTO 660
  65. 640  REM ENCODE:NUM=1
  66. 650  INPUT "SAME CODE Y/N";ANSWER$:IF ANSWER$="Y" THEN 720
  67. 660  PRINT:FOR C=1 TO 5000:NEXT C
  68. 670  FOR C=1 TO 37
  69. 680  PRINT Z$(C);:INPUT"";A$(C)
  70. 690  NEXT C
  71. 700  PRINT "YOUR SYMBOLS ARE READY."
  72. 710  PRINT:FOR C=1 TO 5000:NEXT C
  73. 720  CLS:PRINT:INPUT "TYPE IN MESSAGE";M$
  74. 730  PRINT "CIPHER: ";
  75. 740  V=0
  76. 750  FOR O=1 TO LEN(M$)
  77. 760  F$=MID$(M$,O,1)
  78. 770  FOR C=1 TO 37
  79. 780  IF F$=Z$(C) THEN V=C
  80. 790  NEXT C
  81. 800  PRINT A$(V);
  82. 810  NEXT O
  83. 820  PRINT:PRINT "THE ORIGINAL MESSAGE WAS: ";M$
  84. 830  PRINT "(S)AME CODE, (D)IFFERENT CODE, (E)DIT CODE, DE(C)ODE, (L)IST CODE,"
  85. 840  INPUT "(R)ETRIEVE CODE, S(A)VE CODE, (Q)UIT BREAK-IT! 1.1";ANSWER$
  86. 850  IF ANSWER$="S" THEN 710
  87. 860  IF ANSWER$="D" THEN CLS:GOTO 660
  88. 870  IF ANSWER$="E" THEN 940
  89. 880  IF ANSWER$="C" THEN 1030
  90. 890  IF ANSWER$="A" THEN 1410
  91. 900  IF ANSWER$="R" THEN 1560
  92. 910  IF ANSWER$="L" THEN 1320
  93. 920  CLS:COLOR 12
  94. 921  PRINT "I hope you have enjoyed Break-It! version 1.1. Look for the next"
  95. 922  PRINT "few versions at Software Creations. I hope that I will get around"
  96. 923  PRINT "to these new versions. Feel free to do anything with this program."
  97. 924  COLOR 14:PRINT:PRINT "Press any key to return to DOS..."
  98. 925  A$=INKEY$:IF A$="" THEN 925
  99. 926  SYSTEM
  100. 930  REM EDIT CODE
  101. 940  FOR C=1 TO 5000:NEXT C:CLS
  102. 950  INPUT "ENTER CHARACTER TO EDIT";F$
  103. 960  FOR C=1 TO 37
  104. 970  IF F$=Z$(C) THEN V=C
  105. 980  NEXT C
  106. 990  PRINT Z$(V);:INPUT A$(V)
  107. 1000  INPUT "EDIT ANOTHER CHARACTER Y/N";ANSWER$
  108. 1010  IF ANSWER$="Y" THEN 940
  109. 1020  CLS:FOR C=1 TO 5000:NEXT C:ON NUM GOTO 830,1190
  110. 1030  REM DECODE:NUM=2
  111. 1040  FOR C=1 TO 5000:NEXT C:CLS
  112. 1050  INPUT "SAME CODE Y/N";ANSWER$:IF ANSWER$="Y" THEN 1100
  113. 1060  FOR C=1 TO 37
  114. 1070  PRINT Z$(C);:INPUT A$(C)
  115. 1080  NEXT C
  116. 1090  FOR C=1 TO 5000:NEXT C
  117. 1100  CLS:INPUT "TYPE IN CODED MESSAGE";M$
  118. 1110  PRINT M$
  119. 1120  FOR O=1 TO LEN(M$)
  120. 1130  F$=MID$(M$,O,1)
  121. 1140  FOR C=1 TO 37
  122. 1150  IF F$=A$(C) THEN V=C
  123. 1160  NEXT C
  124. 1170  PRINT Z$(V);
  125. 1180  NEXT O
  126. 1190  PRINT:PRINT "(S)AME CODE, (D)IFFERENT CODE, (E)DIT CODE, E(N)CODE, (L)IST CODE,"
  127. 1200  INPUT "(R)ETRIEVE CODE, S(A)VE CODE, OR (Q)UIT BREAK-IT! 1.1";ANSWER$
  128. 1210  IF ANSWER$="S" THEN 1100
  129. 1220  IF ANSWER$="D" THEN 1060
  130. 1230  IF ANSWER$="E" THEN 940
  131. 1240  IF ANSWER$="N" THEN 650
  132. 1250  IF ANSWER$="A" THEN 1410
  133. 1260  IF ANSWER$="R" THEN 1560
  134. 1270  IF ANSWER$="L" THEN 1320
  135. 1281  PRINT "I hope you have enjoyed Break-It! version 1.1. Look for the next"
  136. 1282  PRINT "few versions at Software Creations. I hope that I will get around"
  137. 1283  PRINT "to these new versions. Feel free to do anything with this program."
  138. 1284  COLOR 14:PRINT:PRINT "Press any key to return to DOS..."
  139. 1285  A$=INKEY$:IF A$="" THEN 925
  140. 1286  SYSTEM
  141. 1290  DATA A,B,C,D,E,F,G,H,I,J,K,L,M
  142. 1300  DATA N,O,P,Q,R,S,T,U,V,W,X,Y,Z
  143. 1310  DATA 0,1,2,3,4,5,6,7,8,9," "
  144. 1320  CLS:FOR X=1 TO 37
  145. 1330  V=(X-1) MOD 3
  146. 1340  IF Z$(X)=" " THEN O$(X)="SPACE"
  147. 1350  IF Z$(X)<>" " THEN O$(X)=Z$(X)
  148. 1360  PRINT TAB(V*10);O$(X);" = ";A$(X);
  149. 1370  NEXT X
  150. 1380  PRINT:PRINT:PRINT "PRESS ANY KEY TO RETURN TO MAIN MENU."
  151. 1390  G$=INKEY$:IF G$="" THEN 1390
  152. 1400  CLS:ON NUM GOTO 830,1190
  153. 1410  REM SAVE CODES
  154. 1420  CLS
  155. 1430  FOR X=1 TO 37
  156. 1440  C$(Q,X)=A$(X):NEXT X
  157. 1450  INPUT "CODE NAME";N$(Q)
  158. 1460  OPEN DRIVE$+"\CODEFILE.FIL" FOR OUTPUT AS #1
  159. 1470  FOR X=1 TO Q
  160. 1480  E$=N$(X):WRITE #1,E$
  161. 1490  FOR Y=1 TO 37
  162. 1500  E$=C$(X,Y):WRITE #1,E$
  163. 1510  NEXT Y:NEXT X
  164. 1520  Q=Q+1:N$(Q)="XXX"
  165. 1530  E$="XXX":WRITE #1,E$
  166. 1540  CLOSE #1
  167. 1550  ON NUM GOTO 830,1190
  168. 1560  REM RETRIEVE CODE
  169. 1570  CLS
  170. 1580  FOR X=1 TO Q
  171. 1590  PRINT N$(X):NEXT X
  172. 1600  PRINT
  173. 1610  INPUT "YOUR CHOICE:";D$
  174. 1620  P=1
  175. 1630  IF D$=N$(P) THEN 1670
  176. 1640  IF N$(P)="XXX" THEN 1660
  177. 1650  P=P+1:GOTO 1630
  178. 1660  PRINT "I DON'T KNOW OF A CODE NAMED ";D$:GOTO 1610
  179. 1670  FOR X=1 TO 37
  180. 1680  A$(X)=C$(P,X):NEXT X
  181. 1690  CLS:ON NUM GOTO 830,1190
  182.