-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStabman.rb
75 lines (68 loc) · 1.33 KB
/
Stabman.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
require 'random-word'
puts
selected_word = RandomWord.nouns.next.gsub("_", " ")
#puts selected_word
initial_spaces = selected_word.each_char do |c|
if c == " "
print " "
else
print '_ '
end
end
puts
puts
show_me = 1
user_guesses = [" "]
missed_guesses = 0
knife = 'O={====> (o_o)'
until show_me == selected_word
puts "Please guess a letter"
current_guess = gets.chomp.downcase
if user_guesses.include?(current_guess) || current_guess.length != 1 || current_guess[/^[a-zA-Z]*$/] == nil
puts
puts "Invalid guess"
puts
else
user_guesses << current_guess
if /#{current_guess}/.match(selected_word)
puts
puts "Great guess!"
puts
show_me = selected_word.tr("^#{user_guesses}", "_")
show_me.each_char {|c| print c, " "}
puts
puts
puts user_guesses.to_s
puts
puts knife
puts
else
puts
puts "Nice try, guess again."
puts
show_me = selected_word.tr("^#{user_guesses}", "_")
show_me.each_char {|c| print c, " "}
missed_guesses += 1
puts
puts
puts user_guesses.to_s
if missed_guesses == 10
puts
puts ' O={=(x_x)=>'
puts
selected_word.each_char {|c| print c, " "}
puts
puts
exit
end
puts
knife = knife.sub(/\s/, "")
puts knife
puts
end
end
end
puts " VICTORY"
puts ' () (o_o) ()'
puts ' | |'
puts