Créer un chronomètre et un compte [Fermé]

Signaler
Messages postés
36
Date d'inscription
mardi 14 juillet 2015
Statut
Membre
Dernière intervention
7 octobre 2018
-
 Dragoflyy -
Bonjour à tous,
j'aimerais créer un jeu type Lifeline en Python. Pour ceux qui ne connaissent pas Lifeline, c'est un jeu qui ressemble aux Livres dont vous êtes le héros, où on gère un astronaute sur une lune perdue et où on doit prendre des décisions cruciales. La différence entre un LDVELH est qu'il y a un côté temps réel : quand l'astronaute doit marcher 1 heure, il reste 1 heure sans parler et le joueur doit attendre.

Bref, pour créer mon jeu, j'ai besoin de deux choses :
1) Pouvoir créer un chronomètre qui, une fois arrivé à une durée x, envoie les messages suivants (je sais pas si c'est clair... :x )
2) Pouvoir créer un compte (ou autre chose) qui permet à un joueur de fermer le programme puis de le rouvrir et de se retrouver au même endroit.
Je sais pas si c'est réalisable...

Merci d'avance,
ungeekdudimanche

2 réponses


Salut,

Cherche du côté du module Time (cherche quelque chose du genre sleep() ou pause() )
ok, je vais essayer de répondre comme je peux...

Tout d'abord, pour ton chronomètre, je te conseil le module time et pour ce qui est de la sauvegarde, utilise un dossier annexe qui te permettras de t'y retrouver dans l'avancement du joueur, bien sur il pourras être modifié, mais cela reste a mon avis le moyen le + simple.
ça devrait te donner un prog comme ça :
import time
global nbmsg
try:
    f = open("save.txt", "r")
    avancement = f.readline()
    f.close()
    retrouver_avance(avancement)
except:
    print("première fois que le jeu est lancé")

def retrouver_avance(a):
    global nbmsg
    av, sc, nbmsg = 1, "", ""
    for lettres in a:
        if lettres == "/" :
            av = 0
        if av == 1 and lettres != "/":
            nbmsg += lettres
        elif av == 0 and lettres != "/":
            sc += lettres
    retrouver_msgs(nbmsg) # fonction permettant de retrouver avancement.
    retrouver_wait(sc)
def retrouver_wait(tp):
    while 1:
        if time.time() >= float(tp) :
            break
        time.sleep(1)
def set_time_wait(t, disc):
    tps = time.time()
    tpsa = tps + t
    f = open("save.txt", "w")
    f.write((str(disc)+"/"+str(tpsa)))
    f.close()
    while 1:
        if time.time() >= tpsa :
            break
        time.sleep(1) # ligne optionnelle (fait une pause de 1 seconde entre chaque test)

def retrouver_msgs(msg):
    print("actuelement au message "+str(msg))

# ton programme avec la fonction :
set_time_wait(tp, nb) 
# tp = temps en seconde pour le prochain message
# nb = numéro pour retrouver a quelle message tu étais.


je te laisse finir le programme, avec ce bout de code, tu auras la fonction set_time_wait() qui te permet de mettre un chronomètre en cours. une sauvegarde dans le dossier "save.txt". Pour retrouver l'avancement du joueur, la variable "nbmsg" t'aideras, plusieurs façon de l'utiliser (avec un dictionnaire, voir même une liste; ou une class) mais fait le a partir de la fonction "retrouver_msgs". à toi de voir pour la suite.