-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHangman.rb
More file actions
111 lines (106 loc) · 1.83 KB
/
Hangman.rb
File metadata and controls
111 lines (106 loc) · 1.83 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
def draw_man(numberofbodyparts)
if numberofbodyparts == 0
puts ""
elsif numberofbodyparts == 1
puts '____________
| |
|
|
|
|
-----------'
elsif numberofbodyparts == 2
puts '____________
| |
| 0
|
|
|
-----------'
elsif numberofbodyparts == 3
puts '____________
| |
| 0
| |
|
|
-----------'
elsif numberofbodyparts == 4
puts '____________
| |
| 0
| /|
|
|
-----------'
elsif numberofbodyparts == 5
puts '____________
| |
| 0
| /|\
|
|
-----------'
elsif numberofbodyparts == 6
puts '____________
| |
| 0
| /|\
| |
|
-----------'
elsif numberofbodyparts == 7
puts '____________
| |
| 0
| /|\
| |
| /
-----------'
elsif numberofbodyparts == 8
puts '____________
| |
| 0
| /|\
| |
| / \
-----------'
end
end
f = File.new("./dictionary.txt", "r")
words = f.read.chomp
f.close
random_word = words.split("\n")
random_word = random_word.sample.chomp
secret_word_array = random_word.split('')
numberofbodyparts = 0
draw_man(0)
letters_guessed = [].sort
def display_guess_progress(secret_word_array, letters_guessed)
secret_word_array.each do |x|
if (letters_guessed.include? x) ==true
print x
elsif (letters_guessed.include? x) ==false
print " _ "
end
end
puts ""
puts ""
puts "Letters already guessed:"
puts letters_guessed.sort.join(',')
end
while numberofbodyparts <= 8
puts "Guess a letter"
letter = gets.chomp
letters_guessed.push(letter)
if (secret_word_array.include? letter) == false
numberofbodyparts = numberofbodyparts + 1
end
draw_man(numberofbodyparts)
display_guess_progress(secret_word_array, letters_guessed)
if numberofbodyparts == 8
puts "You lose!"
puts "The correct word was #{random_word}"
exit
end
end