IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tcl/Tk Discussion :

Jeu de puissance 4


Sujet :

Tcl/Tk

  1. #1
    Membre du Club Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 60
    Points
    60
    Par défaut Jeu de puissance 4
    J'ai crée un jeu en puissance4 en tcltk. Le jeu est structuré en tableau, pas de liste. La grille du jeu est un tableau de boutons. Le jeu fonctionne bien suivant les règles du jeu puissance4.
    Néanmoins, Si on veut s'arreter au milieu de la partie (non finie) pour la sauvegarder et ensuite revenir pour la charger, la grille n'est ni sauvegardée ni chargéé.
    Mon problème se situe dans les deux fonctions : sauvegarder et charger. Je ne sais pas comment résoudre ce problème. Je tourne vers vous pour que vous puissiez me rendre heureux et m'aider à résoudre ce problème. Merci de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    Si j'ai bien compris, le problème est de sauvegarder un tableau et ensuite
    de le charger dans le programme.

    Voici un exemple testé à la console de Tcl-Tk pour mieux comprendre.
    La commande parray permet d'afficher un tableau. Elle ne s'utilise
    qu'en mode interactif.

    Déclaration d'un tableau tab, initialisation et remplissage de celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    % array set tab {}
    % for {set i 1} {$i <= 3} {incr i} {
        for {set j 1} {$j <= 3} {incr j} {set tab($i,$j) N}}
    % set tab(1,1) O
    % set tab(1,2) O
    % set tab(1,3) X
    % set tab(2,1) X
    % set tab(2,2) O
    % parray tab
    tab(1,1) = O
    tab(1,2) = O
    tab(1,3) = X
    tab(2,1) = X
    tab(2,2) = O
    tab(2,3) = N
    tab(3,1) = N
    tab(3,2) = N
    tab(3,3) = N
    Sauvegarde du tableau dans le fichier sauve.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    % set fp [open sauve.txt w]
    % puts $fp  [list array set tab [array get tab]]
    % close $fp
    Réinitialisation du tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    % for {set i 1} {$i <= 3} {incr i} {
        for {set j 1} {$j <= 3} {incr j} {set tab($i,$j) N}}
    parray tab
    tab(1,1) = N
    tab(1,2) = N
    tab(1,3) = N
    tab(2,1) = N
    tab(2,2) = N
    tab(2,3) = N
    tab(3,1) = N
    tab(3,2) = N
    tab(3,3) = N
    Chargement du tableau en mémoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    % source sauve.txt
    % parray tab
    tab(1,1) = O
    tab(1,2) = O
    tab(1,3) = X
    tab(2,1) = X
    tab(2,2) = O
    tab(2,3) = N
    tab(3,1) = N
    tab(3,2) = N
    tab(3,3) = N

    En espérant que cela aide.

    ----
    Canvas

  3. #3
    Membre du Club Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 60
    Points
    60
    Par défaut
    J'ai un tableau de 42 boutons. Il faut que je déclare les 42 cases sachant que que j'ai déclaré les cases à zéro où il n'existe pas de pions et les cases à 1 où les pions sont présents.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    L'objectif de l'exemple était uniquement de montrer comment:

    - on sauvegarde le contenu d'un tableau dans un fichier
    - on charge le contenu du tableau en mémoire

    Le choix des valeurs contenues dans le tableau (X,O,N) est purement arbitraire.

    Libre à toi de choisir la manière dont tu gère le contenu de tes tableaux.
    C'est à dire si une case est remplie ou non et par quelle couleur de jeton.

    Ce choix est indépendant du langage Tcl-Tk. C'est de la programmation générale.

    Cordialement,

    ----
    Canvas

  5. #5
    Membre du Club Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    J'ai essayé d'écrire tab(1,1) = 1, dans mon programme de, mais une erreur s'affiche comme quoi tab(1,1) = 1 ne reconnait pas et surtout le contenu de tab(1,1), i.e 1

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    Pour affecter une valeur dans un tableau, il faut écrire:

    Pour copier la valeur de tab(1,1) dans une autre variable n:

    ps: bien lire les 11 règles qui régissent Tcl-Tk.

    ----
    Canvas

  7. #7
    Membre du Club Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Points : 60
    Points
    60
    Par défaut
    Je t'envoie trois images indispensables en pièce jointe pour le fonctionnement du programme et du jeu car je ne peux pas les envoyer autrement.

Discussions similaires

  1. Jeu de Puissance 4
    Par Sub0 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 23/02/2013, 21h44
  2. Réalisation d'un jeu de puissance 4
    Par Cl3m-cl3m dans le forum Pascal
    Réponses: 5
    Dernier message: 15/02/2011, 10h52
  3. [Office] Défi n°1 : Créer un jeu de puissance 4
    Par Arkham46 dans le forum Défis
    Réponses: 40
    Dernier message: 16/02/2009, 16h25
  4. [MVC] Implémentation d'un jeu de Puissance 4
    Par Ephasme dans le forum MVC
    Réponses: 0
    Dernier message: 08/05/2008, 03h51
  5. probleme avec un label pour le jeu du puissance 4
    Par lol88 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2007, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo