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. OK, I Understand
 
Top