mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-23 07:29:02 -08:00
Modularize a bit, clean up strings a bit
This commit is contained in:
@@ -31,21 +31,14 @@ def main
|
||||
loop do
|
||||
hurkle_point = Point.new
|
||||
found = false
|
||||
(1..MAX_GUESSES).each do |k|
|
||||
print "GUESS # " + k.to_s + " "
|
||||
print "? "
|
||||
guess_point = Point.new(gets.chomp)
|
||||
if guess_point == hurkle_point
|
||||
say_success(k)
|
||||
found = true
|
||||
break
|
||||
end
|
||||
say_where_to_go(hurkle_point, guess_point)
|
||||
puts
|
||||
(1..MAX_GUESSES).each do |guess_num|
|
||||
found = guess(hurkle_point, guess_num)
|
||||
break if found
|
||||
end
|
||||
say_failure(hurkle_point) if not found
|
||||
say_play_again
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def say_introduction
|
||||
@@ -53,25 +46,37 @@ def say_introduction
|
||||
puts " " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||
3.times { puts }
|
||||
puts
|
||||
puts "A HURKLE IS HIDING ON A " + GRID_SIZE.to_s + " BY " + GRID_SIZE.to_s + " GRID. HOMEBASE"
|
||||
puts "A HURKLE IS HIDING ON A #{GRID_SIZE} BY #{GRID_SIZE} GRID. HOMEBASE"
|
||||
puts "ON THE GRID IS POINT 0,0 IN THE SOUTHWEST CORNER,"
|
||||
puts "AND ANY POINT ON THE GRID IS DESIGNATED BY A"
|
||||
puts "PAIR OF WHOLE NUMBERS SEPERATED BY A COMMA. THE FIRST"
|
||||
puts "NUMBER IS THE HORIZONTAL POSITION AND THE SECOND NUMBER"
|
||||
puts "IS THE VERTICAL POSITION. YOU MUST TRY TO"
|
||||
puts "GUESS THE HURKLE'S GRIDPOINT. YOU GET " + MAX_GUESSES.to_s + " TRIES."
|
||||
puts "GUESS THE HURKLE'S GRIDPOINT. YOU GET #{MAX_GUESSES} TRIES."
|
||||
puts "AFTER EACH TRY, I WILL TELL YOU THE APPROXIMATE"
|
||||
puts "DIRECTION TO GO TO LOOK FOR THE HURKLE."
|
||||
puts
|
||||
end
|
||||
|
||||
def say_success(k)
|
||||
def guess(hurkle_point, guess_num)
|
||||
print "GUESS # #{guess_num} ? "
|
||||
guess_point = Point.new(gets.chomp)
|
||||
if guess_point == hurkle_point
|
||||
say_success(guess_num)
|
||||
return true
|
||||
end
|
||||
say_where_to_go(hurkle_point, guess_point)
|
||||
false
|
||||
end
|
||||
|
||||
def say_success(guess_num)
|
||||
puts
|
||||
puts "YOU FOUND IT IN " + k.to_s + " GUESSES!"
|
||||
puts "YOU FOUND IT IN #{guess_num} GUESSES!"
|
||||
end
|
||||
|
||||
def say_where_to_go(hurkle_point, guess_point)
|
||||
puts "GO #{guess_point.direction_to(hurkle_point)}"
|
||||
puts
|
||||
end
|
||||
|
||||
def say_failure(hurkle_point)
|
||||
|
||||
Reference in New Issue
Block a user