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

Développement 2D, 3D et Jeux Discussion :

AIDE[PROJET] Jeu de plateau (langage C)


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut AIDE[PROJET] Jeu de plateau (langage C)
    Bonjours,
    Dans le cadre d'un projet, je doit réaliser un jeux de plateau "Varennes" en langage C. Ce jeux ressemble à un jeux de dame mais les règles sont différente. Voici les régles.

    Je n'est pas un bon niveau en langage C, alors quelqu'un aurrait pourrait me donner des pistes, des liens utiles de tutoriel, sources qui pourrait m'être utile. Ou même collaborer avec moi! je lui serai très reconnaissante.

    je maitrise les boucles, initialiser un tableau en 2 dimension( mais j'ai du mal pour le placement des pions sur le plateau).
    Attention : Je demande pas de le faire à ma place car je doit progresser en programmation!

    J'ai un début de code un peu simpliste :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
     
     
    int main(int argc, char *argv[])
    {
      int plateau[10][10]; // le tableau 2D représentant le plateau de jeu
      int taille1, taille2; // taille utile
      int blanc, noir, garde, roi, partisan; // Convention pour représenter blanc et noir
      int ligne, colonne; // indices pour parcourir le tableau
      int jouer; //prend la valeur 1 ou 2, suivant quel joueur joue
     
      char case_blanche;
     
      case_blanche = 219; // Code ASCII d'une case blanche
     
      taille1 = 10;
      taille2 = 10;
     
      blanc = 1;
      noir = 0;
      garde = 72;
      roi = 82;
      partisan = 80;
     
     
     
      printf ("_______________________________________________________________________________\n\n");
    printf ("                              VARENNES\n");
    printf ("_______________________________________________________________________________\n\n");
     
     
      for (ligne = 0 ; ligne<taille1-1 ; ligne++)
      {
           for (colonne = 0 ; colonne<taille2-1 ; colonne++)
           {
                plateau[ligne][colonne]=(ligne+colonne) %2; // cela alterne des 0 et des 1
           }
      }
     
     
      for (ligne = 0 ; ligne<taille1-1 ; ligne++)
      {
           for (colonne = 0 ; colonne<taille2-1 ; colonne++)
           {
                if (plateau[ligne][colonne]==0)
                {
                printf(" "); // espace pour les cases noires
                }
                else
                {
                printf("%c", case_blanche);   
                } 
           }
           printf("\n");
      }
     
      system("PAUSE");   // Le programme se met en pause
      return 0;          // Le programme renvoie le nombre 0 puis s'arrête
    }
    Merci pour votre aide !!!!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    Salut,

    tout d'abord je te conseille de renommer taille1 et taille2 en largeur et hauteur c'est plus clair.
    Ensuite, attention a tes boucles tu n'affiche pas les dernières cases...

    Après il faut que tu fasses une boucle infinie dans ton programme qui fait les opérations suivantes :
    _ affichage du plateau et du menu
    _ attente des entrées utilisateurs
    _ traitement des entrées / update du plateau

    Le boucle infinie ne quitte seulement si l'utilisateur choisi de quitter dans le menu.

    Sinon ton jeu se joue a 2 joueurs ou faut il que tu code une IA ?
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    désolé pour le retard! j'étais dans mon programme!
    Le programme doit se faire avec deux joueurs et heureusement.

    je sais pas comment m'y prendre pour afficher les pions.
    pour l'instant j'ai fait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     pions[0][3] = garde; 
    pions[0][4] = garde; 
    pions[0][5] = garde; 
    pions[1][4] = garde; 
    pions[3][0] = garde; 
    pions[3][8] = garde; 
    pions[4][0] = garde;
    ...
    Je pense utiliser une boucle for plutot.
    Mais comment faire pour qu'il s'affiche?
    et aussi pour faire un damier plus grand!

    merci pour ta réponse

  4. #4
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Ahahaha je vois que je ne suis pas le seul de l'EFREI ^^. Déjà (je ne sais pas qui tu es), mais tu t'y prends vachement tard quand même pour le projet.

    Le gros problème sur ce projet, c'est que le cours n'a ni abordé les fonctions, ni les structures. Alors ok, quand tu sais le faire, c'est plus simple, mais j'imagine en effet que tu dois un peu galérer sans ces outils...

    En gros, je te conseille de dessiner le plateau en utilisant des signes "usuels", genre des | pour séparer les différentes cases. Tu pourrais faire un tableau 2D de [9][9] dans lesquels tu stockeras le pion (soit la garde, soit le partisan, soit le roi, ou soit rien), en mettant des valeurs différentes (par exemple 0, 1, 2 ou 3). Puis lorsque tu dessines, tu récupères la valeur stocké dans la case, si c'est 0, tu rajoutes un espace (aucun pion), un 1 tu mets un G, et ainsi de suite...

    Concernant la logique du jeu, j'avoue que sans les fonctions ça va faire un truc très très moche. Je te conseille quand même d'essayer d'apprendre par toi-même les fonctions (quoique maintenant entre tous les TAI, je sais pas si t'auras le temps...).

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Beo,
    Citation Envoyé par Bakura Voir le message
    Le gros problème sur ce projet, c'est que le cours n'a ni abordé les fonctions, ni les structures.
    Si c'est bien le cas, ce projet ne devrait pas faire partie de vos devoirs.

    Changez d'école !
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Citation Envoyé par droggo Voir le message
    Si c'est bien le cas, ce projet ne devrait pas faire partie de vos devoirs.

    Changez d'école !
    Ben... c'est le cas ! Je dois t'avouer que j'ai trouvé ça assez bizarre, d'attaquer les pointeurs avant même les fonctions. Il y a peut-être une raison à cela (enfin bon, moi je pense qu'il faut apprendre le C++ avant le C, alors j'ai peut-être une logique déréglée ), mais faire un projet comme ça "dans le main" c'est vraiment lourd. Peut-être que le prof imaginait que les gens allaient "apprendre" par eux-même les fonctions ...

    Fin bref, je suis content d'avoir commencé la prog il y a bien longtemps .

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    j'ai bien avancé


    Maintenant, comment faire que quand deux garde entoure un partisan, le mange (miam)!!

  8. #8
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Ce que tu peux faire, c'est faire en sorte d'enregistrer la dernière pièce qui a bougée, puis de testé les 4 cases autour de cette pièce (en haut, en bas, à droite, à gauche). A chaque fois, tu testes si la pièce qui se trouve (ou non), sur cette case adjacente est une case "à manger" (par exemple si ton dernier mouvement est un garde, ben la pièce à manger est un partisan). Si c'est le cas, tu regardes la case encore à côté et tu vérifies le type de la pièce. Si ça correspond, elle est mangée.

    En gros, par exemple pour tester à gauche, tu testes la case juste à côté de la pièce qui a bougée en dernier puis, si nécessaire, la case encore à côté

Discussions similaires

  1. Aide projet jeu vidéo
    Par Lanslow dans le forum Débuter
    Réponses: 34
    Dernier message: 12/06/2015, 15h18
  2. Besoin d'aide pour projet ISN: jeu de plateau
    Par Stilishh dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 17/05/2014, 07h39
  3. Aide projet jeu de rôle
    Par larchicha dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 15/01/2011, 18h38
  4. Projet jeu de plateau, demande d'aide
    Par Fullmetal82 dans le forum Projets
    Réponses: 1
    Dernier message: 24/06/2007, 00h58

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