Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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")
Exemplo n.º 4
0
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