service { const html GetSeed = Please enter an integer seed for the random number generator: ; const html GameSeeded = Ok, now the game can proceed, the generator is seeded. ; const html Init = Please guess a number between 0 and 99: ; const html Retry = That number is too large!

Please keep your guess between 0 and 99: ; const html Again = That is not correct. Try a <[correction]> number: ; const html Done = You got it, using <[trys]> guesses. ; const html Record = That makes you the new record holder, beating the old record of <[old]> guesses.

Please enter your name for the hi-score list ; const html Finish = Thanks for playing this exciting game. ; const html List = In <[plays]> plays of this game, the record holder is <[holder]> with <[record]> guesses. ; int plays, record; int seed; string holder; int nextRandom() { int current; seed = (25173 * seed + 13849) % 65536; return(seed); } session Seed() { show GetSeed receive[seed = seed]; exit GameSeeded; } session Play() { int number, guesses, guess; string localholder; number = nextRandom() % 100; plays = plays+1; guesses = 1; show Init receive[guess = guess]; while (guess>99) show Retry receive[guess = guess]; while (guess!=number) { guesses = guesses+1; if (guess>number) show plug Again[correction = "lower"] receive[guess = guess]; else show plug Again[correction = "higher"] receive[guess = guess]; while (guess>99) show Retry receive[guess = guess]; } show plug Done[trys = guesses]; if (record==0 || record>guesses) { show plug Record[old = record] receive [localholder = name]; holder = localholder; record = guesses; } exit Finish; } session HiScore() { exit plug List[plays = plays,holder = holder,record = record]; } }