• API
• FAQ
• Tools
• Archive
daily pastebin goal
32%
SHARE
TWEET

# Number Guesser by Donkeysoft

Shaun_B Jan 9th, 2019 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1.    1 REM Number Guesser ZX Spectrum Version by Donkeysoft
2.    2 DIM r AS INTEGER: DIM i AS INTEGER: DIM z AS INTEGER: LET a\$="": LET c\$="": LET n\$=CHR\$(13): BORDER 0: PAPER 0: INK 7: CLS: PRINT "Welcome to Number Guesser by"; n\$; INVERSE 1; "Donkeysoft MMXIX"; INVERSE 0; "- not a real"; n\$; "entry for the CGC 2018"; n\$; n\$; n\$; INK 4; "Please begin by entering a"; n\$; "positive integer >= 10, I will"; n\$; "then generate a random number"; n\$; "for you which you must guess.": PAUSE 0: CLS
3.    3 LET b\$="": PRINT "Enter your number"; n\$; "c:\>_";
4.    4 LET a\$=INKEY\$: IF a\$=n\$ AND LEN b\$>1 THEN LET z=VAL b\$: GO TO 9: END IF
5.    5 IF a\$="" THEN GO TO 4: END IF
6.    6 IF (CODE a\$=8 OR CODE a\$=12) AND LEN b\$>0 THEN LET a\$="": GO SUB 2000: GO TO 8: END IF
7.    7 IF CODE a\$<48 OR CODE a\$>57 THEN GO TO 4: END IF
8.    8 LET b\$=b\$+a\$: PRINT AT 1,4; b\$; "_  ":  LET a\$=INKEY\$: GO SUB 1000: GO TO 4
9.    9 CLS: LET r=INT (RND*z)+SGN PI: LET i=NOT PI
10.   10 LET b\$="": BORDER RND*7: BEEP .1, RND*48: PRINT AT NOT PI, NOT PI; INK 3; "Please enter your guess"; n\$; "c:\>"; INK 7;"_            "
11.   11 LET a\$=INKEY\$: IF a\$=n\$ AND LEN b\$>0 THEN GO TO 16: END IF
12.   12 IF a\$="" THEN GO TO 11: END IF
13.   13 IF (CODE a\$=8 OR CODE a\$=12) AND LEN b\$>0 THEN LET a\$="": GO SUB 2000: GO TO 14: END IF
14.   14 IF CODE a\$<48 OR CODE a\$>57 THEN GO TO 11: END IF
15.   15 LET b\$=b\$+a\$: PRINT AT 1,4; b\$; "_  ": LET a\$=INKEY\$: GO SUB 1000: GO TO 11
16.   16 LET i=i+1: IF VAL b\$=r THEN PRINT AT 1,4; b\$; " "; AT 4,0; "YOU GOT IT IN "; i; " TRIES!": GO TO 20: END IF
17.   17 IF VAL b\$<r THEN PRINT AT 4,0;"Try higher    ": END IF
18.   18 IF VAL b\$>r THEN PRINT AT 4,0;"Try lower     ": END IF
19.   19 IF i<11 THEN GO TO 10: END IF
20.   20 IF VAL b\$=r THEN PRINT n\$;"Well done": FOR i=0 TO 32: BORDER RND*7: BEEP .05, RND*48: NEXT i: END IF
21.   21 PRINT "Would you like to try again?"; n\$;"(Y/N)"
22.   22 LET a\$=INKEY\$: IF a\$="" THEN GO TO 22: END IF
23.   23 IF a\$="Y" OR a\$="y" THEN GO TO 26: END IF
24.   24 IF a\$="N" OR a\$="n" THEN CLS: RANDOMIZE USR 0: END IF
25.   25 GO TO 22
26.   26 GO SUB 1000: PRINT "Would you like the same number"; n\$; "range?"; n\$; "(Y/N)";
27.   27 LET a\$=INKEY\$: IF a\$="" THEN GO TO 27: END IF
28.   28 IF a\$="Y" OR a\$="y" THEN GO SUB 1000: GO TO 9: END IF
29.   29 IF a\$="N" OR a\$="n" THEN CLS: GO SUB 1000: GO TO 3: END IF
30.   30 GO TO 27
31. 1000 IF INKEY\$<>"" THEN GO TO 1000:END IF: RETURN
32. 2000 LET c\$="": IF LEN b\$>1 THEN LET c\$=b\$(0 TO LEN b\$-2): END IF: LET b\$=c\$: RETURN
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top