-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcodebreaker.bas
41 lines (41 loc) · 887 Bytes
/
codebreaker.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/tibasic
100 REM CODEBREAKER GAME
110 RANDOMIZE
120 CALL CLEAR
130 FOR I=1 TO 4
140 N(I)=INT(9*RND)+1
150 IF I=1 THEN 190
160 FOR J=1 TO I-1
170 IF N(I)=N(J) THEN 140
180 NEXT J
190 NEXT I
200 TRIES=0
210 INPUT "ENTER GUESS? ":GUESS
220 SCORE=0
230 TRIES=TRIES+1
240 FOR K=4 TO 1 STEP -1
250 DIGIT=(GUESS/10-INT(GUESS/10))*10
260 IF DIGIT<>N(K) THEN 290
270 SCORE=SCORE+1
280 GOTO 340
290 FOR L=1 TO 4
300 IF N(L)<>DIGIT THEN 330
310 SCORE=SCORE+.1
320 GOTO 340
330 NEXT L
340 GUESS=INT(GUESS/10)
350 NEXT K
360 IF INT(SCORE)<>SCORE THEN 390
370 PRINT STR$(SCORE)&".0"
380 GOTO 430
390 IF SCORE>1 THEN 420
400 PRINT "0"&STR$(SCORE)
410 GOTO 430
420 PRINT STR$(SCORE)
430 IF SCORE<>4 THEN 210
440 PRINT "YOU TOOK "&STR$(TRIES)&" TRIES TO GUESS"
450 PRINT "THE CODE NUMBER."
460 DISPLAY "WOULD YOU LIKE TO PLAY AGAIN"
470 INPUT "ENTER Y OR N: ":A$
480 IF A$="Y" THEN 110
490 END