Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
QM Guess Game :)
Happy American Thanksgiving everyone!!! Here's a QM Guessing game I whipped up for the holidays!!

Function QM_Guessing_Game
Select All      Help
str s.RandomString(1 2 "0-9")

int i=val(s)

int guesses=0
str message="Make an Attempt, guess a number 1-100"
str guess
if(!inp(guess message "QM Guess Game" "" int'test)) ret

int iguess=val(guess)
if iguess=i
,message.format("Yes, the number was %i. You are a winner![]Would you like to play again?" i)
,if(mes(message "QM Guessing Game" "YN?") = 'Y') mac "QM_Guessing_Game"
,if guesses=8
,,message.format("You lose! The number was %i[]Would you like to play again?" i)
,,if(mes(message "QM Guessing Game" "YN?") = 'Y') mac "QM_Guessing_Game"
,if iguess<i
,,message="Too Small, guess again"
,if iguess>i
,,message="Too Big, guess again"
,if guesses=7
,,message.from(message ", LAST CHANCE!!")
,goto Guess

Funny how much this shows how to do things with QM!!
I am thankful for Gintaras! Thank you!
jimmy vig
Something like this often is used in programming, for example to find a string in a sorted list faster. Instead of comparing string0, string1, and so on, compare string50, then string25 or string75 and so on.
How does that work in programming? There's not a response that says "Too big" or "Too small."

Is there a name for this method of working with data? Now I'm curious :9

jimmy vig
sorry, don't know the name of the algorithm
Yep...I gotta learn about more of those. They seem to be a good way of looking at things. I tend to want to re-invent the wheel!
Nice – however, the game chose a 0 as its number and I never went below 1, so I lost.
The algorithm for solving it in the least turns is call a binary search. Just guess the middle number of the remaining set. So, for example, from a set of 0 to 255 numbers, it will never take more than 8 guesses by guessing 128, 64, 32, 16, 8, 4, 2, 1 or 0.

Forum Jump:

Users browsing this thread: 1 Guest(s)