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