Python Programming
!
You!will!be!adding!your!own!functions!to!the!program.!!There!must!not!be!any!variables!used!outside!any!
of!the!functions.!
!
!
If!you!do!not!complete!all!of!the!assignment,!the!marker!will!run!your!program!until!the!program!stops!
running!and!you!will!be!given!the!marks!for!the!parts!of!the!assignment!you!have!completed.!
!
THE)GAME)OF)DIGIT)MEMORY)
The!one!player!game!of!Memory!is!a!game!in!which!all!of!the!digit!pairs!are!laid!face!down!in!random!order!
on!a!surface!and,!each!turn,!the!player!selects!two!of!the!digits!which!are!then!displayed.!!If!the!two!digits!
selected!by!the!player!match,!the!pair!of!digits!remain!visible!and!the!player!continues!with!the!next!turn!
trying!to!match!another!pair!of!digits.!!If!the!digits!don’t!match!the!digits!are!turned!over!and!the!player!
continues!with!the!next!turn.!The!object!of!the!game!is!to!turn!over!all!the!pairs!of!matching!digits!in!as!
few!turns!as!possible.!! !
Add!the!
functions!
required!to!
the!program.!
! 2!
THE)SKELETON)OF)THE)PROGRAM)
The!skeleton!of!the!program!for!the!game!of!Memory!is!shown!below.!!The!play_one_game()!function!
is!complete!and!should!not!be!changed!in!any!way.!!Copy!this!skeleton!into!your!program!file!and!complete!
the!missing!functions.!!Example!output!using!the!completed!program!is!shown!on!the!last!three!pages!of!
this!document.!
import random
#———————————-
# main part of the program
#———————————-
def main():
player_name = get_player_name()
display_title(player_name)
play_one_game(player_name)
#———————————-
# Play one game
#———————————-
def play_one_game(player_name):
hidden_symbol = “-”
digits = get_random_digits()
user_digits = hidden_symbol * len(digits)
cheating_is_on = get_cheating_on_off()
if cheating_is_on:
display_cheating(digits)
turns_so_far = 0
matched_so_far = 0
pairs_guessed = 0
while not user_digits == digits:
display_digits(user_digits, turns_so_far, pairs_guessed)
index1 = get_index_from_player()
digit1 = digits[index1]
display_first_digit(index1 + 1, digit1)
index2 = get_index_from_player()
digit2 = digits[index2]
previous_user_digits = user_digits
user_digits = get_adjusted_digits(user_digits, index1, index2,
digit1, digit2)
turns_so_far += 1
if digit1 == digit2:
pairs_guessed = get_pairs_guessed(user_digits)
else:
display_digits(user_digits, turns_so_far, pairs_guessed)
press_enter_to_continue()
user_digits = previous_user_digits
display_digits(user_digits, turns_so_far, pairs_guessed)
display_game_end_feedback(player_name, turns_so_far)
main()!