-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfonctions.py
70 lines (50 loc) · 2.11 KB
/
fonctions.py
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
# -*- coding: utf-8 -*-
"""
Hangman game function file : includes all functions called in main file
"""
import os
import pickle
from random import choice
# include words_to_guess data dictionary
from donnees import *
def get_existing_scores(): # get existing score from file or set scores to "none"
if os.path.exists(file_path): # check if scores file exists
with open(file_path, 'rb') as file_handler: # then get existing scores
read_data_stream = pickle.Unpickler(file_handler)
scores = read_data_stream.load()
else: # no existing scores set scores to "none"
scores = {}
return scores
def get_player_name(): # get player's name
no_proper_name = True
while no_proper_name:
try:
player_name = input("Please enter your name: ")
check_if_number = float(player_name) # if player's name is a number, keep looping
except: # player's name is no number, leave the loop
no_proper_name= False
return player_name
def get_word_to_guess(): # get word to guess (random choice in predefined list)
return choice(words_to_guess)
def update_masked_word(word_to_guess, letters_found): # update masked word to guess with letters found
masked_word = ""
for letter in word_to_guess:
if letter in letters_found:
masked_word += letter
else:
masked_word += "*"
return masked_word
def get_player_letter(): # get player's letter
not_a_letter = True
while not_a_letter:
try:
player_letter = input("Please choose your letter: ")
player_letter = player_letter.lower()
check_if_number = float(player_letter) # if player's letter is a number, keep looping
except: # player's letter is no number, leave the loop
not_a_letter = False
return player_letter
def save_current_scores(scores): # save current scores by overwriting any existing scores
with open(file_path, 'wb') as file_handler: # then get existing scores
write_data_stream = pickle.Pickler(file_handler)
write_data_stream.dump(scores)