![]() |
|||||
gwbasic311 hide & find GAME |
|||||
|
the following prog was modified form basic to run in qbasic(kind of).to run it you must pick a file for the massage to be hidden in.the file will be CHANGED so use a copy.next you must input the KEY,which is case senstive,that will be used to hide the file and to find it.then type in the small message when done,type in END, hit enter TWICE.the prog has a problem in FIND if the wrong key is entered it errors out.with the right key ,when you see the last line,BREAK from the prog.the object of the game is to guess the KEY used when the message was hidden.the best files are BMP files.
PROGRAM FOR QBASIC
10
'"hide find 20
PRINT CHR$(10): INPUT "HIDE NEW MEMMO = 1, OR FIND MEMMO = 2 OR EXIT = 3 ";
GO: IF GO < 1 OR GO > 3 THEN 20 30
ON GO GOTO 50, 290, 530 50
CLEAR , , 2000: DIM A$(100), K(255) 60
LINE INPUT "KEY "; KY$: GOSUB 550 62
CLS : FILES 65
INPUT "PICTURE FILE NAME "; I$ 70
CLS : PRINT "TYPE MEMMO TWO ENTERS TO CODE" 80
FOR B = 1 TO 100 90
LINE INPUT " ", A$(B): IF LEN(A$(B)) = 0 GOTO 120 110
NEXT 120
FOR C = 1 TO B - 1 130
PRINT "#"; C; : PRINT A$(C) 140
NEXT C 150
INPUT "CHANGE ANY LINES YES=1 ,OR ADD LINES=2"; H: IF H = 1 THEN GOTO 480 160
IF H = 2 THEN GOTO 90 165
A$(C) = CHR$(127) 170
INPUT "ENTER TO HIDE "; CR 180
OPEN "R", #1, I$, 255: 'IF LOF(1)=0 THEN GOTO 700 181
FIELD #1, 255 AS N$ 190
A$(0) = DATE$ + CHR$(32) + TIME$ 200
RANDOMIZE (KY) 210
FOR D = 0 TO C 215
A$(D) = A$(D) + CHR$(10) 220
FOR E = 1 TO LEN(A$(D)) 221
R = INT(RND * 1000): R = R + 1: GET #1, R 230
E$ = MID$(A$(D), E, 1): GOSUB 265 235
PUT #1, R 240
NEXT E 250
NEXT D 260
CLOSE : CLEAR : END 265
R1 = INT(RND * 255): IF R1 < 3 THEN GOTO 265 270
MID$(N$, R1, 1) = E$ 280
RETURN 290
CLEAR , , 2000: DIM BA$(1000) 300
LINE INPUT "KEY "; KY$: GOSUB 550 305
CLS : FILES 306
INPUT "FILE "; I$ 310
OPEN "R", #1, I$, 255: IF LOF(1) = 0 THEN GOTO 700 315
FIELD #1, 255 AS N$ 320
CLS : RANDOMIZE (KY) 321
FOR A = 1 TO 100 325
R = INT(RND * 1000): R = R + 1: GET #1, R: IF ASC(N$) = 127 THEN GOTO 470 330
R1 = INT(RND * 255): IF R1 < 3 THEN GOTO 330 335
E$ = MID$(N$, R1, 1): IF E$ = CHR$(10) THEN GOTO 350 340
BA$(A) = BA$(A) + E$: GOTO 325 350
LOCATE A, 1 370
PRINT BA$(A) 372
INPUT "", BS$ 380
NEXT A 470
CLOSE : END 480
INPUT "LINE # TO CHANGE"; F: IF F > C - 1 THEN 480 490
PRINT A$(F): LINE INPUT " ", A$(F) 500
GOTO 120 510
END 520
END 530
PRINT "CLICK X TO CLOSE WINDOW": SYSTEM 540
GOTO 20 550
FOR F = 1 TO LEN(KY$) 560
F$ = MID$(KY$, F, 1): K(F) = ASC(F$) 570
NEXT F 580
FOR I = 1 TO F - 2 590
DK = K(I) / K(I + 1): KY = KY + DK: NEXT I 610
RETURN 620
END 630
END 700
CLOSE : KILL I$: INPUT "need a good name"; I$: GOTO 180
|
||||
|
|
||||
|
10 'HIDE & FIND 20 PRINT CHR$(10):INPUT "HIDE NEW MEMMO = 1, OR FIND MEMMO = 2 OR EXIT = 3
";GO:IF GO<1 OR GO>3 THEN 20 30 ON GO GOTO 50,290,530 50 CLEAR ,,2000:DIM A$(100),K(255) 60 LINE INPUT"KEY ";KY$:GOSUB 550 62 CLS:FILES 65 INPUT"PICTURE FILE NAME ";I$ 70 CLS:PRINT"TYPE MEMMO TWO ENTERS TO HIDE" 80 FOR B=1 TO 100 90 LINE INPUT" ",A$(B):IF LEN (A$(B))=0 GOTO 120; 110 NEXT 120 FOR C=1 TO B-1 130 PRINT"#";C;:PRINT A$(C) 140 NEXT C 150 INPUT "CHANGE ANY LINES YES=1 ,OR ADD LINES=2";H:IF H=1 THEN GOTO 480 160 IF H=2 THEN GOTO 90 170 INPUT "ENTER TO HIDE";CR 180 OPEN "R",#1, I$, 255:'IF LOF(1)=0 THEN GOTO 700 181 FIELD #1, 255 AS N$ 190 A$(0)=DATE$+CHR$(32)+TIME$ 200 RANDOMIZE(KY) 210 FOR D=0 TO C-1 215 A$(D)=A$(D)+CHR$(10) 220 FOR E=1 TO LEN(A$(D)) 221 R=INT(RND*1000):R=R+1:GET #1,R 230 E$=MID$(A$(D),E,1):GOSUB 265 235 PUT #1,R 240 NEXT E 250 NEXT D 260 CLOSE:CLEAR:GOTO 20 265 R1=INT(RND*255):IF R1<3 THEN GOTO 265 270 MID$(N$,R1,1)=E$ 280 RETURN 290 CLEAR ,,2000:DIM A$(10000),K(255) 300 LINE INPUT"KEY ";KY$:GOSUB 550 305 CLS:FILES 306 INPUT"FILE ";I$ 310 OPEN "R",#1, I$, 255:IF LOF(1)=0 THEN GOTO 700 315 FIELD #1, 255 AS N$ 320 CLS:RANDOMIZE(KY) 321 FOR A=1 TO 100 325 R=INT(RND*1000):R=R+1:GET #1,R 330 R1=INT(RND*255):IF R1<3 THEN GOTO 330 335 E$=MID$(N$,R1,1):IF E$=CHR$(10) THEN GOTO 350 340 A$(A)=A$(A)+E$:GOTO 325 350 LOCATE A,1 370 PRINT A$(A) 372 INPUT"",BS$ 380 NEXT A 470 END 480 INPUT"LINE # TO CHANGE";F:IF F>C-1 THEN 480 490 PRINT A$(F):LINE INPUT " ",A$(F) 500 GOTO 120 510 END 520 END 530 PRINT"CLICK X TO CLOSE WINDOW":SYSTEM 540 GOTO 20 550 FOR F=1 TO LEN(KY$) 560 F$=MID$(KY$,F,1):K(F)=ASC(F$) 570 NEXT F 580 FOR I=1 TO F-2 590 DK=K(I)/K(I+1):KY=KY+DK:NEXT I 610 RETURN 620 END 630 END 700 CLOSE:KILL I$:INPUT "need a good name";I$:GOTO 180 |
||||