def test_save_game(): # Test avec la sauvegarde d'une partie en cours. partie = { "plateau": { "n": 4, "nombre_cases_libres": 6, "tiles": [6, 2, 3, 2, 0, 2, 1, 2, 6, 2, 0, 0, 0, 6, 1, 1] }, "next_tile": { "mode": "encours", '0': { "val": 3, "lig": 0, "col": 1 }, "check": True }, "score": 34 } save_game(partie) # Le fichier 'game_saved.json' doit contenir: # # partie = {"plateau": {"n": 4, "nombre_cases_libres": 6, "tiles": [6, 2, 3, 2, 0, 2, 1, 2, 6, 2, 0, 0, 0, 6, 1, 1]}, # "next_tile": {"mode": "encours", '0': {"val": 3, "lig": 0, "col": 1}, "check": True}, # "score": 34} # Note: Le formatage n'est pas pris en compte dans le fichier, il a pour seul but de faciliter la lecture. print("Test de la fonction save_game: Ok")
def menu_action(partie, user_menu): """ Permet de gérer les actions du joueur dans le menu. :param partie: Une partie de jeu en cours (voir game/play/create_new_play) ou None sinon. :param user_menu:n Un caractère correspondant au choix du joueur dans le menu. :return: La partie passée en argument (choix 'S', 'C' et 'Q') ou une partie restaurée (choix 'L') ou une nouvelle partie (choix 'N'). """ if user_menu == 'L': # Le joueur veut restaurer une partie. print("\nPartie restorée. C'est parti !\n") partie = restore_game() elif user_menu == 'N': # Le joueur veut créer une nouvelle partie. print("\nCréation d'une nouvelle partie. C'est parti !\n") partie = create_new_play() elif user_menu == 'S': # Le joueur veut sauvegarder la partie en cours. print("\nPartie sauvegardée !\n") save_game(partie) elif user_menu == 'C': # Le joueur veut reprendre la partie en cours. print("\nReprise de la partie en cours.\n") else: # Le joueur veut quitter le jeu. print("\nA bientôt sur le jeu Threes !\n") return partie
def test_restore_game(): partie = { "plateau": { "n": 4, "nombre_cases_libres": 6, "tiles": [6, 2, 3, 2, 0, 2, 1, 2, 6, 2, 0, 0, 0, 6, 1, 1] }, "next_tile": { "mode": "encours", '0': { "val": 3, "lig": 0, "col": 1 }, "check": True }, "score": 34 } save_game(partie) # Sauvegarde de la partie assert partie == restore_game( ) # Vérification que la partie restaurée correspond à celle sauvegardée. print("Test de la fonction restore_game: Ok")
def threes(): """ Permet d'enchainer les parties au jeu Threes, de reprendre une partie sauvegardée et de sauvegarder une partie en cours. :return: rien """ ent = get_user_menu(None) # Affichage du menu principal ( sans sauvegarde et reprendre ) use = True # Initialisation pour boucle while use: if ent == 'N': # Si N est choisi dans le menu principal cyc, game = cycle_play(None) # Affiche le jeu, etc if cyc: # Si cyc est True, le jeu est terminé et gagné. # Affiche le message de fin de jeu print(colored(" ", "grey", "on_green")) print(colored(" Bravo ! Vous avez gagné la partie ! ", "grey", "on_green")) print(colored(" ", "grey", "on_green")) highscore(game['score']) use = False else: # Affiche le menu principal avec sauvegarde et reprendre ent = get_user_menu(game) elif ent == 'L': # Si L est choisi dans le menu principal res = restore_game() # Va chercher la game enregistrer cycle_play(res) # Joue la game trouvée elif ent == 'S': # Si S est choisi dans le menu principal save_game(game) # Sauvagarde la partie use = False # Met fin à la boucle elif ent == 'C': # Si C est choisi dans le menu principal cyc, game = cycle_play(game) # Affiche le jeu, etc if cyc: # Si cyc est True, le jeu est terminé et gagné. # Affiche le message de fin de jeu print(colored(" ", "grey", "on_green")) print(colored(" Bravo ! Vous avez gagné la partie ! ", "grey", "on_green")) print(colored(" ", "grey", "on_green")) highscore(game['score']) else: # Sinon # Affiche le menu principal avec sauvegarde et reprendre ent = get_user_menu(game) elif ent == 'Q': # Si S est choisi dans le menu principal use = False # Met fin à la boucle