Beispiel #1
0
def Start_interface_cam(config=None, env=None, params=[], **kwargs):
    """Passe le programme en mode execution du jeu: initialise l'affichage réel du jeu et un nouveau shell avec de
    nouvelles commandes adaptées prend le relais toute modification de la config pendant ce mode est temporaire,
    sauf si elle est réecrite en dur sur le disque, dans touts les cas a la sortie du mode la configuration 'vivante'
    reprend son ancienne valeure
    """
    if params is None:
        return "play : lance le mode d'execution du jeu sur la séquence courante\n    Utilisation : 'play [key " \
               "value]*'\n      [key value] est une liste de couple où key est la clé d'un paramètre de la config, " \
               "et value la valeur à lui assigner le temps de la sequence "
    else:
        if env["game_state"] == gc.GameState.HIDLE:
            loc_conf = config.copy()
            print("   |===== Passage en mode 'Jeu' =====")
            env["game_state"] = gc.GameState.WAIT_PLAY
            bcs.shell(env,
                      cam_commandes,
                      aliases=cam_aliases,
                      config=loc_conf,
                      config_path=env["config_path"],
                      shell_prompt="TwisterCam [jeu] >>>")
            env["game_state"] = gc.GameState.HIDLE
            env["stop"] = False
            print("   |=====  Sortie du mode 'Jeu' =====")
        else:
            print("   |GameState inappropriate for start playing.")
Beispiel #2
0
def control_thread(env, conf):
    print(" |Initiate game shell.")
    # commandes spéciales du shell
    commandes = {
        "gen_seq": call_gen_seq,
        "play": start_game,
        "preview": start_preview,
        "rebuild_interface": rebuild_interface
    }
    # aliases du shell
    aliases = {
        "generate_sequence": "gen_seq",
        "new_seq": "gen_seq",
        "new": "gen_seq",
        "view": "preview",
        "start": "play"
    }
    print(" |Start TwisterCam command shell\n")
    bcs.shell(env,
              commandes,
              aliases=aliases,
              config=conf,
              shell_prompt="TwisterCam >>>")
    # Terminaison du programme
    env["tc_win"].s.force_exit.emit()
    print("#Control thread exited.")
Beispiel #3
0
def Start_interface_preview(config=None, env=None, params=[], **kwargs):
    """Passe le programme en mode préview: initialise l'affichage pré-view et un nouveau shell avec de nouvelles
    commandes adaptées prend le relais toute modification de la config pendant ce mode pourra etre reporté sur la
    config principale en répondant "yes" lors du prompt de sortie.
    """
    if params is None:
        return "preview : lance le mode préview sur la séquence courante\n    Utilisation : 'preview [key value]*'\n " \
               "     [key value] est une liste de couple où key est la clé d'un paramètre de la config, et value la " \
               "valeur a lui assigner le temps de la préview "
    else:
        loc_conf = config.copy()
        print("   |----- Passage en mode 'Preview' -----")
        env["game_state"] = gc.GameState.PREVIEW
        bcs.shell(env,
                  preview_commandes,
                  aliases=preview_aliases,
                  config=loc_conf,
                  config_path=env["config_path"],
                  shell_prompt="TwisterCam [preview] >>>")
        print("   |-----  Sortie du mode 'Preview' -----")
        env["stop"] = False
        env["game_state"] = gc.GameState.HIDLE
        print("Voulez vous lancer le jeu avec cette configuration?[y/n] >>> ")
        reponse = input()
        if reponse == "y" or reponse == "o" or reponse.find(
                "yes") > -1 or reponse.find("oui") > (-1):
            Start_interface_cam(config=loc_conf, env=env, params=[])
        print("Voulez vous conserver cet nouvelle configuration? [y/n] >>>")
        reponse = input()
        if reponse == "y" or reponse == "o" or reponse.find(
                "yes") > -1 or reponse.find("oui") > -1:
            return env, loc_conf
        else:
            return None