|Syntax||ASK ([#wind,] question$)|
ASK is a function which prints the question$ (plus a question mark (?) if this was not found at the end of the string), enables the text cursor and reads the keyboard. If the next key pressed is <Y> (for Yes), <J> (for Ja) or <N> (for No or Nein) then ASK will disable the cursor, echo the key next to the prompt and return 1 if either <Y> or <J> was pressed, or 0 if <N> was pressed. If any other key is pressed, ASK will BEEP and try again.
In early computer days, this was a classical game which needed a hundred lines on a (modern at the time) programmable pocket calculator:
100 CLS: x1 = 0: x2 = 100 110 PRINT "I am going to find out a number" 120 PRINT "from"!x1!"to"!x2!"which only you know."\\ 130 REPeat find_out 140 PRINT x1;"..";x2 150 x = (x2+x1) DIV 2 160 ok = ASK("Is it "&x) 170 IF ok THEN EXIT find_out 180 IF x1 = x2 THEN PRINT "You are cheating.": STOP 190 large = ASK(x&" too large") 200 IF large THEN x2 = x-1: ELSE x1 = x+1 210 END REPeat find_out 220 PRINT "Yippee, I found it."
ASK is set up for ‘yes’ and ‘no’ in English and ‘ja’ and ‘nein’ in German. For other languages where ‘yes’ is not usually connected with <Y>, eg. ‘oui’ in French or ‘si’ in Spanish, you will need to write your own routine.