31 lines
961 B
Text
31 lines
961 B
Text
100 PROGRAM "Bulls.bas"
|
|
110 RANDOMIZE
|
|
120 STRING C$*4
|
|
130 LET GUESS=0
|
|
140 DO
|
|
150 LET C$=STR$(RND(8701)+1199)
|
|
160 LOOP UNTIL CHECK$(C$)=C$
|
|
170 CLEAR SCREEN:PRINT "Welcome to 'Bulls and Cows!'"
|
|
180 DO
|
|
190 DO
|
|
200 PRINT :INPUT PROMPT "Guess a 4-digit number with no duplicate digits: ":G$
|
|
210 IF CHECK$(G$)="" THEN PRINT "You should enter 4-digit number with no duplicate digits."
|
|
220 LOOP UNTIL CHECK$(G$)=G$ AND G$<>""
|
|
230 LET GUESS=GUESS+1:LET BULLS,COWS=0
|
|
240 FOR I=1 TO 4
|
|
250 IF C$(I)=G$(I) THEN
|
|
260 LET BULLS=BULLS+1
|
|
270 ELSE IF POS(C$,G$(I))<>0 THEN
|
|
280 LET COWS=COWS+1
|
|
290 END IF
|
|
300 NEXT
|
|
310 PRINT BULLS;"bulls,";COWS;"cows"
|
|
320 LOOP UNTIL C$=G$
|
|
330 PRINT "You won after";GUESS;"guesses!"
|
|
340 DEF CHECK$(S$)
|
|
350 LET CHECK$=""
|
|
360 IF LEN(STR$(VAL(S$)))=4 AND POS(S$,"0")=0 THEN LET CHECK$=S$
|
|
370 FOR I=1 TO 4
|
|
380 IF POS(S$(:I-1),S$(I)) OR POS(S$(I+1:),S$(I)) THEN LET CHECK$=""
|
|
390 NEXT
|
|
400 END DEF
|