Task

Write a program where the program chooses a number between   1   and   10.

A player is then prompted to enter a guess.   If the player guesses wrong,   then the prompt appears again until the guess is correct.

When the player has made a successful guess the computer will issue a   "Well guessed!"   message,   and the program exits.

A   conditional loop   may be used to repeat the guessing until the user is correct.



Related tasks

   Bulls and cows
   Bulls and cows/Player
   Guess the number/With Feedback
   Mastermind


 
use IO;
 
bundle Default {
  class GuessNumber {
    function : Main(args : String[]) ~ Nil {
      done := false;
      "Guess the number which is between 1 and 10 or 'q' to quite: "->PrintLine();
      rand_num := (Float->Random() * 10.0)->As(Int) + 1;
      while(done = false) {
        guess := Console->ReadString();
        number := guess->ToInt();
        if(number <> 0) {
          if(number <> rand_num) {
            "Guess again: "->PrintLine();
          }
          else {
            "Hurray! You guessed correctly!"->PrintLine();
            done := true;
          };
        }
        else {
          if(guess->StartsWith("q") | guess->StartsWith("Q")) {
            done := true;
          };
        };
      };
    }
  }
}
 