Created a hangman game!
Focuses: - Modules - Traversing lists - Loops Art and words from course.
This commit is contained in:
parent
88ad0f92ce
commit
4e885cb919
3 changed files with 334 additions and 0 deletions
69
Day 7/hangman_art.py
Normal file
69
Day 7/hangman_art.py
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
stages = ['''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
/|\ |
|
||||||
|
/ \ |
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
/|\ |
|
||||||
|
/ |
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
/|\ |
|
||||||
|
|
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
/| |
|
||||||
|
|
|
||||||
|
|
|
||||||
|
=========''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
| |
|
||||||
|
|
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
O |
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''', '''
|
||||||
|
+---+
|
||||||
|
| |
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
=========
|
||||||
|
''']
|
||||||
|
|
||||||
|
logo = '''
|
||||||
|
_
|
||||||
|
| |
|
||||||
|
| |__ __ _ _ __ __ _ _ __ ___ __ _ _ __
|
||||||
|
| '_ \ / _` | '_ \ / _` | '_ ` _ \ / _` | '_ \
|
||||||
|
| | | | (_| | | | | (_| | | | | | | (_| | | | |
|
||||||
|
|_| |_|\__,_|_| |_|\__, |_| |_| |_|\__,_|_| |_|
|
||||||
|
__/ |
|
||||||
|
|___/ '''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
215
Day 7/hangman_words.py
Normal file
215
Day 7/hangman_words.py
Normal file
|
|
@ -0,0 +1,215 @@
|
||||||
|
word_list = [
|
||||||
|
'abruptly',
|
||||||
|
'absurd',
|
||||||
|
'abyss',
|
||||||
|
'affix',
|
||||||
|
'askew',
|
||||||
|
'avenue',
|
||||||
|
'awkward',
|
||||||
|
'axiom',
|
||||||
|
'azure',
|
||||||
|
'bagpipes',
|
||||||
|
'bandwagon',
|
||||||
|
'banjo',
|
||||||
|
'bayou',
|
||||||
|
'beekeeper',
|
||||||
|
'bikini',
|
||||||
|
'blitz',
|
||||||
|
'blizzard',
|
||||||
|
'boggle',
|
||||||
|
'bookworm',
|
||||||
|
'boxcar',
|
||||||
|
'boxful',
|
||||||
|
'buckaroo',
|
||||||
|
'buffalo',
|
||||||
|
'buffoon',
|
||||||
|
'buxom',
|
||||||
|
'buzzard',
|
||||||
|
'buzzing',
|
||||||
|
'buzzwords',
|
||||||
|
'caliph',
|
||||||
|
'cobweb',
|
||||||
|
'cockiness',
|
||||||
|
'croquet',
|
||||||
|
'crypt',
|
||||||
|
'curacao',
|
||||||
|
'cycle',
|
||||||
|
'daiquiri',
|
||||||
|
'dirndl',
|
||||||
|
'disavow',
|
||||||
|
'dizzying',
|
||||||
|
'duplex',
|
||||||
|
'dwarves',
|
||||||
|
'embezzle',
|
||||||
|
'equip',
|
||||||
|
'espionage',
|
||||||
|
'euouae',
|
||||||
|
'exodus',
|
||||||
|
'faking',
|
||||||
|
'fishhook',
|
||||||
|
'fixable',
|
||||||
|
'fjord',
|
||||||
|
'flapjack',
|
||||||
|
'flopping',
|
||||||
|
'fluffiness',
|
||||||
|
'flyby',
|
||||||
|
'foxglove',
|
||||||
|
'frazzled',
|
||||||
|
'frizzled',
|
||||||
|
'fuchsia',
|
||||||
|
'funny',
|
||||||
|
'gabby',
|
||||||
|
'galaxy',
|
||||||
|
'galvanize',
|
||||||
|
'gazebo',
|
||||||
|
'giaour',
|
||||||
|
'gizmo',
|
||||||
|
'glowworm',
|
||||||
|
'glyph',
|
||||||
|
'gnarly',
|
||||||
|
'gnostic',
|
||||||
|
'gossip',
|
||||||
|
'grogginess',
|
||||||
|
'haiku',
|
||||||
|
'haphazard',
|
||||||
|
'hyphen',
|
||||||
|
'iatrogenic',
|
||||||
|
'icebox',
|
||||||
|
'injury',
|
||||||
|
'ivory',
|
||||||
|
'ivy',
|
||||||
|
'jackpot',
|
||||||
|
'jaundice',
|
||||||
|
'jawbreaker',
|
||||||
|
'jaywalk',
|
||||||
|
'jazziest',
|
||||||
|
'jazzy',
|
||||||
|
'jelly',
|
||||||
|
'jigsaw',
|
||||||
|
'jinx',
|
||||||
|
'jiujitsu',
|
||||||
|
'jockey',
|
||||||
|
'jogging',
|
||||||
|
'joking',
|
||||||
|
'jovial',
|
||||||
|
'joyful',
|
||||||
|
'juicy',
|
||||||
|
'jukebox',
|
||||||
|
'jumbo',
|
||||||
|
'kayak',
|
||||||
|
'kazoo',
|
||||||
|
'keyhole',
|
||||||
|
'khaki',
|
||||||
|
'kilobyte',
|
||||||
|
'kiosk',
|
||||||
|
'kitsch',
|
||||||
|
'kiwifruit',
|
||||||
|
'klutz',
|
||||||
|
'knapsack',
|
||||||
|
'larynx',
|
||||||
|
'lengths',
|
||||||
|
'lucky',
|
||||||
|
'luxury',
|
||||||
|
'lymph',
|
||||||
|
'marquis',
|
||||||
|
'matrix',
|
||||||
|
'megahertz',
|
||||||
|
'microwave',
|
||||||
|
'mnemonic',
|
||||||
|
'mystify',
|
||||||
|
'naphtha',
|
||||||
|
'nightclub',
|
||||||
|
'nowadays',
|
||||||
|
'numbskull',
|
||||||
|
'nymph',
|
||||||
|
'onyx',
|
||||||
|
'ovary',
|
||||||
|
'oxidize',
|
||||||
|
'oxygen',
|
||||||
|
'pajama',
|
||||||
|
'peekaboo',
|
||||||
|
'phlegm',
|
||||||
|
'pixel',
|
||||||
|
'pizazz',
|
||||||
|
'pneumonia',
|
||||||
|
'polka',
|
||||||
|
'pshaw',
|
||||||
|
'psyche',
|
||||||
|
'puppy',
|
||||||
|
'puzzling',
|
||||||
|
'quartz',
|
||||||
|
'queue',
|
||||||
|
'quips',
|
||||||
|
'quixotic',
|
||||||
|
'quiz',
|
||||||
|
'quizzes',
|
||||||
|
'quorum',
|
||||||
|
'razzmatazz',
|
||||||
|
'rhubarb',
|
||||||
|
'rhythm',
|
||||||
|
'rickshaw',
|
||||||
|
'schnapps',
|
||||||
|
'scratch',
|
||||||
|
'shiv',
|
||||||
|
'snazzy',
|
||||||
|
'sphinx',
|
||||||
|
'spritz',
|
||||||
|
'squawk',
|
||||||
|
'staff',
|
||||||
|
'strength',
|
||||||
|
'strengths',
|
||||||
|
'stretch',
|
||||||
|
'stronghold',
|
||||||
|
'stymied',
|
||||||
|
'subway',
|
||||||
|
'swivel',
|
||||||
|
'syndrome',
|
||||||
|
'thriftless',
|
||||||
|
'thumbscrew',
|
||||||
|
'topaz',
|
||||||
|
'transcript',
|
||||||
|
'transgress',
|
||||||
|
'transplant',
|
||||||
|
'triphthong',
|
||||||
|
'twelfth',
|
||||||
|
'twelfths',
|
||||||
|
'unknown',
|
||||||
|
'unworthy',
|
||||||
|
'unzip',
|
||||||
|
'uptown',
|
||||||
|
'vaporize',
|
||||||
|
'vixen',
|
||||||
|
'vodka',
|
||||||
|
'voodoo',
|
||||||
|
'vortex',
|
||||||
|
'voyeurism',
|
||||||
|
'walkway',
|
||||||
|
'waltz',
|
||||||
|
'wave',
|
||||||
|
'wavy',
|
||||||
|
'waxy',
|
||||||
|
'wellspring',
|
||||||
|
'wheezy',
|
||||||
|
'whiskey',
|
||||||
|
'whizzing',
|
||||||
|
'whomever',
|
||||||
|
'wimpy',
|
||||||
|
'witchcraft',
|
||||||
|
'wizard',
|
||||||
|
'woozy',
|
||||||
|
'wristwatch',
|
||||||
|
'wyvern',
|
||||||
|
'xylophone',
|
||||||
|
'yachtsman',
|
||||||
|
'yippee',
|
||||||
|
'yoked',
|
||||||
|
'youthful',
|
||||||
|
'yummy',
|
||||||
|
'zephyr',
|
||||||
|
'zigzag',
|
||||||
|
'zigzagging',
|
||||||
|
'zilch',
|
||||||
|
'zipper',
|
||||||
|
'zodiac',
|
||||||
|
'zombie',
|
||||||
|
]
|
||||||
50
Day 7/main.py
Normal file
50
Day 7/main.py
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
import random
|
||||||
|
import hangman_words
|
||||||
|
import hangman_art
|
||||||
|
|
||||||
|
word_list = hangman_words.word_list
|
||||||
|
|
||||||
|
chosen_word = random.choice(word_list)
|
||||||
|
word_length = len(chosen_word)
|
||||||
|
|
||||||
|
end_of_game = False
|
||||||
|
lives = 6
|
||||||
|
|
||||||
|
print(hangman_art.logo)
|
||||||
|
print(hangman_art.stages[6])
|
||||||
|
#Testing code
|
||||||
|
|
||||||
|
#Create blanks
|
||||||
|
display = []
|
||||||
|
for _ in range(word_length):
|
||||||
|
display += "_"
|
||||||
|
|
||||||
|
print(display)
|
||||||
|
|
||||||
|
while not end_of_game:
|
||||||
|
guess = input("Guess a letter: ").lower()
|
||||||
|
if guess in display:
|
||||||
|
print(f"You already guessed the letter {guess}.")
|
||||||
|
#Check guessed letter
|
||||||
|
for position in range(word_length):
|
||||||
|
letter = chosen_word[position]
|
||||||
|
if letter == guess:
|
||||||
|
display[position] = letter
|
||||||
|
|
||||||
|
if guess not in chosen_word:
|
||||||
|
print(f"The letter {guess} is not in the hidden word. You lose a life.")
|
||||||
|
lives -= 1
|
||||||
|
if lives == 0:
|
||||||
|
end_of_game = True
|
||||||
|
print("You lose.")
|
||||||
|
|
||||||
|
#Join all the elements in the list and turn it into a String.
|
||||||
|
print(f"{' '.join(display)}")
|
||||||
|
|
||||||
|
#Check if user has got all letters.
|
||||||
|
if "_" not in display:
|
||||||
|
end_of_game = True
|
||||||
|
print("You win.")
|
||||||
|
|
||||||
|
print(hangman_art.stages[lives])
|
||||||
|
print(f"\nThe word was {chosen_word}.")
|
||||||
Loading…
Add table
Add a link
Reference in a new issue