From 9a0d6f9e760e4e00b4b45a1542492761bf395739 Mon Sep 17 00:00:00 2001 From: Roxanne Date: Thu, 17 Aug 2017 14:30:09 -0700 Subject: [PATCH 1/7] created wordy.rb --- wordy.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 wordy.rb diff --git a/wordy.rb b/wordy.rb new file mode 100644 index 0000000..b65d608 --- /dev/null +++ b/wordy.rb @@ -0,0 +1,41 @@ +require 'colorize' +#one class, methods, + +dictionary = [] + +guesses = [] + +word = []#pick word random from dictionary + +hidden_word = [] + +word.length.times do hidden word << "____ " +end + +def letter_included + word.each do |letter| + if word.include? == true + puts "Good Guess" + # remove letter from list + else # ascii minus something + end + end +end # End letter_included + +def pick_a_letter + begin + + puts "pick a letter" + letter_guess = gets.chomp.capitalize + + if letter_guess =~ /A-Za-z/ + else + puts "No, pick a LETTER." + retry + end + end +end # End pick_a_letter + +guesses << pick_a_letter + +letter_included From b17cacd7f57dd6fefbc50f70b061f76f18676532 Mon Sep 17 00:00:00 2001 From: Roxanne Date: Thu, 17 Aug 2017 18:28:07 -0700 Subject: [PATCH 2/7] add hangman.rb to file --- hangman.rb | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ wordy.rb | 43 +++++++---------------------------- 2 files changed, 74 insertions(+), 35 deletions(-) create mode 100644 hangman.rb diff --git a/hangman.rb b/hangman.rb new file mode 100644 index 0000000..e836339 --- /dev/null +++ b/hangman.rb @@ -0,0 +1,66 @@ + +class Hangman + attr_accessor :guesses, :word, :hidden_word, :wrongs + + def initialize + @guesses = [] + @word = "" #pick word random from dictionary + @hidden_word = [] + @wrongs = 0 + end + + def make_hidden_word + @word.length.times do @hidden_word << "____ " + end + + end + + def choose_word(dictionary) + @word = dictionary.sample.upcase + end + + def replace_hidden_with_letter(letter) + word_index =(0 ... @word.length).find_all {|i| @word[i,1] == letter} + num_letters = word_index.length + + num_letters.times do |this| + @hidden_word[word_index[this]] = letter + end + end + + + def letter_included(guess) + @word.chars.each do |letter| + if @word =~ /#{guess}/ + puts "Good Guess" + # add letter to hidden_word + replace_hidden_with_letter(guess) + ################# + puts @hidden_word + else # ascii minus something + end + end + end # End letter_included + + + def pick_a_letter + + while @word.split("") != @hidden_word + + puts "pick a letter" + letter_guess = gets.chomp.capitalize + + case + when !!!(letter_guess =~ /A-Za-z/) && @guesses.include?(letter_guess) != true + @guesses << letter_guess + letter_included(letter_guess) + puts "#{hidden_word}" + else + puts "No, pick another letter." + end + # guesses << pick_a_letter + # letter_included(letter_guess) + end + end + +end # End of Hangman diff --git a/wordy.rb b/wordy.rb index b65d608..e36d524 100644 --- a/wordy.rb +++ b/wordy.rb @@ -1,41 +1,14 @@ require 'colorize' -#one class, methods, +#one class, methods -dictionary = [] -guesses = [] +dictionary = ["pizza", "pasta", "tacos", "bologna", "salad"] -word = []#pick word random from dictionary +puts "Let's play a game!" -hidden_word = [] -word.length.times do hidden word << "____ " -end - -def letter_included - word.each do |letter| - if word.include? == true - puts "Good Guess" - # remove letter from list - else # ascii minus something - end - end -end # End letter_included - -def pick_a_letter - begin - - puts "pick a letter" - letter_guess = gets.chomp.capitalize - - if letter_guess =~ /A-Za-z/ - else - puts "No, pick a LETTER." - retry - end - end -end # End pick_a_letter - -guesses << pick_a_letter - -letter_included +my_hangman = Hangman.new +my_hangman.choose_word(dictionary) +my_hangman.make_hidden_word +my_hangman.pick_a_letter +my_hangman.letter_included From 08eeedb9834117e82bb9d8c611b321f706955e0a Mon Sep 17 00:00:00 2001 From: Roxanne Date: Thu, 17 Aug 2017 18:38:04 -0700 Subject: [PATCH 3/7] require Hangman file --- wordy.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/wordy.rb b/wordy.rb index e36d524..ebb613d 100644 --- a/wordy.rb +++ b/wordy.rb @@ -1,4 +1,5 @@ require 'colorize' +require './hangman' #one class, methods From aa841bcb5983bc7bc5a0d90a8dcfc261fda29799 Mon Sep 17 00:00:00 2001 From: Roxanne Date: Fri, 18 Aug 2017 09:04:07 -0700 Subject: [PATCH 4/7] adding case for ascii characters --- hangman.rb | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/hangman.rb b/hangman.rb index e836339..d3b688f 100644 --- a/hangman.rb +++ b/hangman.rb @@ -1,3 +1,4 @@ +require 'artii' class Hangman attr_accessor :guesses, :word, :hidden_word, :wrongs @@ -7,6 +8,7 @@ def initialize @word = "" #pick word random from dictionary @hidden_word = [] @wrongs = 0 + @fails = 0 end def make_hidden_word @@ -30,15 +32,14 @@ def replace_hidden_with_letter(letter) def letter_included(guess) - @word.chars.each do |letter| - if @word =~ /#{guess}/ - puts "Good Guess" - # add letter to hidden_word - replace_hidden_with_letter(guess) - ################# - puts @hidden_word - else # ascii minus something - end + if @word.include?(guess) + puts "Good Guess" + # add letter to hidden_word + replace_hidden_with_letter(guess) + ################# + @hidden_word + else # ascii minus something + @fails += 1 end end # End letter_included @@ -51,9 +52,37 @@ def pick_a_letter letter_guess = gets.chomp.capitalize case - when !!!(letter_guess =~ /A-Za-z/) && @guesses.include?(letter_guess) != true + when !!(letter_guess =~ /[A-Z]/) && !@guesses.include?(letter_guess) @guesses << letter_guess letter_included(letter_guess) + lose = " _____ __ __ _ + / ____| \ \ / / | | + | (___ ___ _ __ _ __ _ _ \ \_/ /__ _ _ | | ___ ___ ___ + \___ \ / _ \| '__| '__| | | | \ / _ \| | | | | | / _ \/ __|/ _ \ + ____) | (_) | | | | | |_| |_ | | (_) | |_| | | |____ (_) \__ \ __/_ + |_____/ \___/|_| |_| \__, ( ) |_|\___/ \__,_| |______\___/|___/\___(_) + __/ |/ + |___/ + " + case + when @word.split("") == @hidden_word + puts "You win!" + when @fails == 1 + #ascii 1 + when @fails == 2 + #ascii 2 + when @fails == 3 + #ascii 3 + when @fails == 4 + # ascii 4 + when @fails == 5 + # ascii 5 + when @fails == 6 + puts lose + # ascii 6 + exit + else #no fails yet + end puts "#{hidden_word}" else puts "No, pick another letter." From a1ad3c4080ca39b86f7b0a95dd821a556c9163f4 Mon Sep 17 00:00:00 2001 From: Roxanne Date: Fri, 18 Aug 2017 15:04:55 -0700 Subject: [PATCH 5/7] fixing codes --- hangman.rb | 128 ++++++++++++++++++++++++++++++++++++++++++++++++----- wordy.rb | 2 +- 2 files changed, 117 insertions(+), 13 deletions(-) diff --git a/hangman.rb b/hangman.rb index d3b688f..f1cba46 100644 --- a/hangman.rb +++ b/hangman.rb @@ -1,4 +1,5 @@ require 'artii' +require 'colorize' class Hangman attr_accessor :guesses, :word, :hidden_word, :wrongs @@ -55,31 +56,134 @@ def pick_a_letter when !!(letter_guess =~ /[A-Z]/) && !@guesses.include?(letter_guess) @guesses << letter_guess letter_included(letter_guess) - lose = " _____ __ __ _ - / ____| \ \ / / | | - | (___ ___ _ __ _ __ _ _ \ \_/ /__ _ _ | | ___ ___ ___ - \___ \ / _ \| '__| '__| | | | \ / _ \| | | | | | / _ \/ __|/ _ \ - ____) | (_) | | | | | |_| |_ | | (_) | |_| | | |____ (_) \__ \ __/_ - |_____/ \___/|_| |_| \__, ( ) |_|\___/ \__,_| |______\___/|___/\___(_) - __/ |/ - |___/ - " + case when @word.split("") == @hidden_word - puts "You win!" + win = Artii::Base.new + puts win.asciify('Winner Winner').colorize(:magenta) + puts win.asciify(@word).colorize(:cyan) when @fails == 1 + puts " one wrong + o8%8888, + o88%8888888. + 8'- -:8888b + 8' 8888 + d8.-=. ,==-.:888b + >8 `~` :`~' d8888 + 88 ,88888 + 88b. `-~ ':88888 + 888b ~==~ .:88888 + 88888o--:':::8888 + `88888| :::' 8888b + 8888^^' 8888b + d888 ,%888b. + d88% %%%8--'-. +/88:.__ , _%-' --- - + '''::===..-' = --." #ascii 1 when @fails == 2 #ascii 2 + puts " o8%8Two, o8Wrong, + o88%8888888. o88%8888888. + 8'- -:8888b 8'- -:8888b + 8' 8888 8' 8888 + d8.-=. ,==-.:888b d8.-=. ,==-.:888b + >8 `~` :`~' d8888 >8 `=` :`=' d8888 + 88 ,88888 88 ,88888 + 88b. `-~ ':88888 88b` `-- ':88888 + 888b ~==~ .:88888 888b -==- .:88888 + 88888o--:':::8888 88888o--:':::8888 + `88888| :::' 8888b `88888| :::' 8888b + 8888^^' 8888b 8888^^' 8888b + d888 ,%888b. d888 ,%888b. + d88% %%%8--'-. d88% %%%8--'-. + /88:.__ , _%-' --- - /88:.__ , _%-' --- - + '''::===..-' = --. ` '''::===..-' = --. `" when @fails == 3 #ascii 3 + puts " + ____ + o8%8888, + o88%8888888. + 8'- -:8888b + 8' 8888 + d8.-=. ,==-.:888b + >8 `~` :`~' d8888 + 88 ,88888 + 88b. `-~ ':88888 + 888b v=v~ .:88888 + 88888o--:':::8888 + `88888| :::' 8888b + 8888^^' 8888b + d888 ,%888b. + d88% %%%8--'-. + /88:.__ , _%-' --- - + '''::===..-' = --. ` + + + ____ .------. + o8%8888, / \ + o88%8888888. .' Three `. + ' 8'- -:8888b _______|___Wrong_____| + : 8' 8888 8 8888 +` ' d8.-=. ,==-.:888b d8.-=. ,==-.:888b + ` >8 `~` :`~' d8888 >8 `~` :`~' d8888 +`:: 88 ,88888 88 ,88888 + `' 88b. `-~ ':88888 88b. `-~ ':88888 + `eeeeeee==~ .:88888 888b ~==~ .:88888 + 88888o--:':::8888 88888o--:':::8888 + `88888| :::' 8888b `88888| :::' 8888b + 8888^^' 8888b 8888^^' 8888b + d888 ,%888b. d888 ,%888b. + d88% %%%8--'-. d88% %%%8--'-. + /88:.__ , _%-' --- - /88:.__ , _%-' --- - + '''::===..-' = --. ` '''::===..-' = --. ` +" + when @fails == 4 # ascii 4 + puts " ____ ____ + o8%8888, o8%8888, + o88%8888888. o88%8888888. + 8'- -:8888b 8'- -:8888b + 8' 8888 8' 8888 + d8.-=. ,==-.:888b d8.-=. ,==-.:888b + >8 `~` :`~' d8888 >8 `=` :`=' d8888 + 88 ,88888 88 ,88888 + 88b. `-~ ':88888 88b` `-- ':88888 + 888b ~==~ .:88888 888b -==- .:88888 + 88888o--:':::8888 88888o--:':::8888 + `88888| :::' 8888b `88888| :::' 8888b + 8888^^' 8888b 8888^^' 8888b + d888 ,%888b. d888 ,%888b. + d88% %%%8--'-. d88% %%%8--'-. + /88:.__ , _%-' --- - /88:.__ , _%-' --- - + '''::===..-' = --. ` '''::===..-' = --. ` + Normal Mona Depressed Mona + + ____ ____ + o8%8888, o8%8888, + o88%8888888. o88%8888888. + 8'- -:8888b 8'- -:8888b + 8' 8888 8' 8888 + d8.-=. ,==-.:888b d8.-=. ,==-.:888b + >8`88P 88P'd8888 >8 `~` :`~' d8888 + 88 ,88888 88 ,88888 + 88b. `-~ ':88888 88b. `-~ ':88888 + 888b ~==~ .:88888 888b .==. .:88888 + 88888o--:':::8888 88888o--:':::8888 + `88888| :::' 8888b `88888| :::' 8888b + 8888^^' 8888b 8888^^' 8888b + d888 ,%888b. d888 ,%888b. + d88% %%%8--'-. d88% %%%8--'-. + /88:.__ , _%-' --- - /88:.__ , _%-' --- - + '''::===..-' = --. ` '''::===..-' = --. `" when @fails == 5 # ascii 5 when @fails == 6 - puts lose - # ascii 6 + lose = Artii::Base.new + puts lose.asciify('Sorry, You Lose').colorize(:red) + exit else #no fails yet end diff --git a/wordy.rb b/wordy.rb index ebb613d..13c11c1 100644 --- a/wordy.rb +++ b/wordy.rb @@ -3,7 +3,7 @@ #one class, methods -dictionary = ["pizza", "pasta", "tacos", "bologna", "salad"] +dictionary = ["pizza", "pasta", "tacos", "bologna", "salad", "popcorn", "pipes", "bubblegum"] puts "Let's play a game!" From 2203e4f48f433efead6ed6c8a053244468d8cec6 Mon Sep 17 00:00:00 2001 From: Roxanne Date: Fri, 18 Aug 2017 15:08:38 -0700 Subject: [PATCH 6/7] cool mona lisas --- hangman.rb | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/hangman.rb b/hangman.rb index f1cba46..f406ae2 100644 --- a/hangman.rb +++ b/hangman.rb @@ -159,7 +159,7 @@ def pick_a_letter d88% %%%8--'-. d88% %%%8--'-. /88:.__ , _%-' --- - /88:.__ , _%-' --- - '''::===..-' = --. ` '''::===..-' = --. ` - Normal Mona Depressed Mona + Four Wrong ____ ____ o8%8888, o8%8888, @@ -167,7 +167,7 @@ def pick_a_letter 8'- -:8888b 8'- -:8888b 8' 8888 8' 8888 d8.-=. ,==-.:888b d8.-=. ,==-.:888b - >8`88P 88P'd8888 >8 `~` :`~' d8888 + >8`88P 88P'd8888 >8 `~` :`~' d8888 88 ,88888 88 ,88888 88b. `-~ ':88888 88b. `-~ ':88888 888b ~==~ .:88888 888b .==. .:88888 @@ -180,6 +180,62 @@ def pick_a_letter '''::===..-' = --. ` '''::===..-' = --. `" when @fails == 5 # ascii 5 + puts " _______ + _,,ad8888888888bba,_ + ,ad88888I888888888888888ba, + ,88888888I88888888888888888888a, + ,d888888888I8888888888888888888888b, + d8888PP YY88888888888888888888b, + ,d88 __,,--------,,,,.;ZZZY8888888888888, + ,8IIl ;;l ZZZIII8888888888, + ,I88l;' ;lZZZZZ888III8888888, + ,II88Zl;. ;llZZZZZ888888I888888, + ,II888Zl;. .;;;;;lllZZZ888888I8888b + ,II8888Z;; `;;;;;''llZZ8888888I8888, + II88888Z;' .;lZZZ8888888I888b + II88888Z; _,aaa, .,aaaaa,__.l;llZZZ88888888I888 + II88888IZZZZZZZZZ, .ZZZZZZZZZZZZZZ;llZZ88888888I888, + II88888IZZ<'(@@>Z| |ZZZ<'(@@>ZZZZ;;llZZ888888888I88I + ,II88888; ` ;| |ZZ; ` ;;llZ8888888888I888 + II888888l `;; .;llZZ8888888888I888, + ,II888888Z; ;;; .;;llZZZ8888888888I888I + III888888Zl; .., `;; ,;;lllZZZ88888888888I888 + II88888888Z;;...;(_ _) ,;;;llZZZZ88888888888I888, + II88888888Zl;;;;;' `--'Z;. .,;;;;llZZZZ88888888888I888b + ]I888888888Z;;;;' ;llllll;..;;;lllZZZZ88888888888I8888, + II888888888Zl.;; Y88bd888P ;;,..;lllZZZZZ88888888888I8888I + II8888888888Zl;.; `PPP ;;;,..;lllZZZZZZZ88888888888I88888 + II888888888888Zl;;. `;;;l;;;;lllZZZZZZZZW88888888888I88888 + `II8888888888888Zl;. ,;;lllZZZZZZZZWMZ88888888888I88888 + II8888888888888888ZbaalllZZZZZZZZZWWMZZZ8888888888I888888, + `II88888888888888888b WWZZZZZWWWMMZZZZZZI888888888I888888b + `II88888888888888888;ZZMMMMMMZZZZZZZZllI888888888I8888888 + `II8888888888888888 `;lZZZZZZZZZZZlllll888888888I8888888, + II8888888888888888, `;lllZZZZllllll;;.Y88888888I8888888b, + ,II8888888888888888b .;;lllllll;;;.;..88888888I88888888b, + II888888888888888PZI;. .`;;;.;;;..; ...88888888I8888888888, + II888888888888PZ;;';;. ;. .;. .;. .. Y8888888I88888888888b, + ,II888888888PZ;;' `8888888I8888888888888b, + II888888888' 888888I8888888888888888b + ,II888888888 ,888888I88888888888888888 + ,d88888888888 d888888I8888888888ZZZZZZZ + ,ad888888888888I 8888888I8888ZZZZZZZZZZZZZ + ,d888888888888888' 888888IZZZZZZZZZZZZZZZZZZ + ,d888888888888P'8P' Y888ZZZZZZZZZZZZZZZZZZZZZ + ,8888888888888, ,ZZZZZZZZZZZZZZZZZZZZZZZZ +d888888888888888, ,ZZZZZZZZZZZZZZZZZZZZZZZZZZZ +888888888888888888a, _ ,ZZZZZZZZZZZZZZZZZZZZ888888888 +888888888888888888888ba,_d' ,ZZZZZZZZZZZZZZZZZ88888888888888 +8888888888888888888888888888bbbaaa,,,______,ZZZZZZZZZZZZZZZ888888888888888888 +88888888888888888888888888888888888888888ZZZZZZZZZZZZZZZ888888888888888888888 +8888888888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888 +888888888888888888888888888888888888888ZZZZZZZZZZZZZZ888888888888888888888888 +8888888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888888 +88888888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888888888 +8888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888 Normand 88 +88888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888 Veilleux 88 +8888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888888888888 +This is your last chance" when @fails == 6 lose = Artii::Base.new puts lose.asciify('Sorry, You Lose').colorize(:red) From 8e34e1f03262c65f8044a24328e01266f937d61f Mon Sep 17 00:00:00 2001 From: Roxanne Date: Fri, 18 Aug 2017 15:26:58 -0700 Subject: [PATCH 7/7] colorize artwork --- hangman.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hangman.rb b/hangman.rb index f406ae2..7966a66 100644 --- a/hangman.rb +++ b/hangman.rb @@ -98,7 +98,7 @@ def pick_a_letter d888 ,%888b. d888 ,%888b. d88% %%%8--'-. d88% %%%8--'-. /88:.__ , _%-' --- - /88:.__ , _%-' --- - - '''::===..-' = --. ` '''::===..-' = --. `" + '''::===..-' = --. ` '''::===..-' = --. `".colorize(:cyan) when @fails == 3 #ascii 3 puts " @@ -130,7 +130,7 @@ def pick_a_letter ` >8 `~` :`~' d8888 >8 `~` :`~' d8888 `:: 88 ,88888 88 ,88888 `' 88b. `-~ ':88888 88b. `-~ ':88888 - `eeeeeee==~ .:88888 888b ~==~ .:88888 + `eeeee ==~ .:88888 888b ~==~ .:88888 88888o--:':::8888 88888o--:':::8888 `88888| :::' 8888b `88888| :::' 8888b 8888^^' 8888b 8888^^' 8888b @@ -138,7 +138,7 @@ def pick_a_letter d88% %%%8--'-. d88% %%%8--'-. /88:.__ , _%-' --- - /88:.__ , _%-' --- - '''::===..-' = --. ` '''::===..-' = --. ` -" +".colorize(:green) when @fails == 4 # ascii 4 @@ -167,7 +167,7 @@ def pick_a_letter 8'- -:8888b 8'- -:8888b 8' 8888 8' 8888 d8.-=. ,==-.:888b d8.-=. ,==-.:888b - >8`88P 88P'd8888 >8 `~` :`~' d8888 + >8`88P 88P' d8888 >8 `~` :`~' d8888 88 ,88888 88 ,88888 88b. `-~ ':88888 88b. `-~ ':88888 888b ~==~ .:88888 888b .==. .:88888 @@ -177,7 +177,7 @@ def pick_a_letter d888 ,%888b. d888 ,%888b. d88% %%%8--'-. d88% %%%8--'-. /88:.__ , _%-' --- - /88:.__ , _%-' --- - - '''::===..-' = --. ` '''::===..-' = --. `" + '''::===..-' = --. ` '''::===..-' = --. `".colorize(:blue) when @fails == 5 # ascii 5 puts " _______ @@ -232,10 +232,10 @@ def pick_a_letter 888888888888888888888888888888888888888ZZZZZZZZZZZZZZ888888888888888888888888 8888888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888888 88888888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888888888 -8888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888 Normand 88 -88888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888 Veilleux 88 +8888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888888888 +88888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888888888888 8888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888888888888 -This is your last chance" +This is your last chance".colorize(:magenta) when @fails == 6 lose = Artii::Base.new puts lose.asciify('Sorry, You Lose').colorize(:red)