From: Gennady Bystritsky Date: 2006-02-12T15:17:40+09:00 Subject: Re: Simultaneous text input/output in a command line game Just from the tip of my head: t = Thread.new { while true sleep 5 puts "What are you waiting for, dude? Enter something now: " end } puts "Enter something: " s = gets t.kill puts "You entered: #{s.inspect}" Gennady. > -----Original Message----- > From: rubyvic [mailto:rubyvic@gmail.com] > Sent: Saturday, February 11, 2006 22:08 > To: ruby-talk ML > Subject: Simultaneous text input/output in a command line game > > Hi everyone! > > I'm currently learning Ruby, and have made this simple number > guessing game: > ____________________________ > puts "I'm thinking of a number from 0 to 10. What's your guess?" > > my_number = rand(11) > user_guess = gets.chomp.to_i > > until user_guess == my_number > if user_guess > my_number > puts "Too high." > else my_number > user_guess > puts "Too low." > end > puts "Guess again:" > user_guess = gets.chomp.to_i > end > > puts "Yep, it was " + my_number.to_s + ". You win!" > ____________________________ > > A friend of mine wrote a Java version which you can see here: > http://violasong.com/tonyguessinggame.java. In addition to > what my script does, his is able to taunt you with a random > message if you don't input any data for 5 seconds :). > > I want to try adding that functionality to my script, and am > wondering if it's possible in Ruby - to print a message every > x seconds *while* it's waiting for you to input something. If > someone could point me in the right direction, that would be > much appreciated! > > Victoria Wang > >