Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vos jeux

Un récapitulatif...

    25 janvier 2006 à 14:27:43

    comment on commence un morpion????j'ai aucune idée du code.....
    • Partager sur Facebook
    • Partager sur Twitter
      25 janvier 2006 à 14:30:05

      Le morpion je l'ai déja fait... tout seul et le but de ce projet serait d'écrire un programme à plusieurs.
      Plutôt que d'utiliser un tableau pour chaque ligne, il existe "les matrices", des tableaux a deux dimensions..
      Par exemple : char nom_matrice [nb_de_lignes][nb_de_colonnes] = {
      { , , , , } ,
      { , , , , } ,
      { , , , , }
      }
      ==> matrice 3*5
      • Partager sur Facebook
      • Partager sur Twitter
        25 janvier 2006 à 14:35:12

        Ben disons qu'un tableau a 2 dimentions pour moi ca reste un tableau. Vous appellez ca matrice si vous voulez, c'est un tableau. Et dans certains cas c'est peut etre plus simple de faire un tableau a une dimention qui contient les 9 cases :) (enfin pour le morpion je pense pas que ca soit le cas ;) )
        • Partager sur Facebook
        • Partager sur Twitter
          25 janvier 2006 à 14:55:30

          Pour répondre à la demande du code du morpion (Probablement que qlq'un a une méthode bcp bcp plus rapide... n'hésitez pas à envoyer votre code) :

          A placer dans le main.c


          #include <stdio.h>
          #include <stdlib.h>

          #include "Headers.h"

          int main()
          {

          /*****************************DECLARATIONS*************************************/

                  char grille [3] [3] = {
                               /*0*/    { ' ', ' ', ' ' },
                               /*1*/    { ' ', ' ', ' ' },
                               /*2*/    { ' ', ' ', ' ' }
                                                        } ;

          /*****************************PROGRAMME****************************************/

                  system("color 0c") ;
                                                /**JEU**********************************/

                      printf("\n\tLe jeu du Morpion") ;
                      printf("\n\n\tPour gagner, vous devez aligner 3 X sur la grille,\n\ttout en empechant votre adversaire de faire de meme...\n\n") ;

                      do
                      {

                      draw_grille(grille, 3, 3) ;

                      player_play() ;

                      computer_play() ;

                      } while( qui_est_gagnant(grille) == 0 ) ;

                                                /**DETERMINATION DU GAGNANT**************/

                      if ( qui_est_gagnant(grille) == 1)
                      {
                          draw_grille(grille, 3, 3) ;
                          printf("\n\n\tVous avez gagne !\n\n\t") ;
                      }

                      if ( qui_est_gagnant(grille) == 2)
                      {
                          draw_grille(grille, 3, 3) ;
                          printf("\n\n\tVous avez perdu !\n\n\t") ;
                      }

                      if ( qui_est_gagnant(grille) == 3)
                      {
                          draw_grille(grille, 3, 3) ;
                          printf("\n\n\tMatch nul !\n\n\t") ;
                      }

              system("PAUSE") ;
                  return 0;
          }



          // Fonction pour dessiner la grille

          void draw_grille(char matrice[3][3])
          {
                  int row = 0 ;
                  int column = 0 ;

                  printf("\t   \t[0][1][2]\n\n") ;

              for(row=0 ; row<3 ; ++row)
              {
                      printf("\n\t") ;
                      printf("[%i]\t", row) ;

                  for(column=0 ; column<3 ; ++column)
                  {
                      printf("[%c]", matrice[row][column]) ;
                  }
              }
          }



          // Fonction pour permettre a l'utilisateur de jouer

          void player_play(char grille [3][3])
          {
                  int position1=0;
                  int position2=0;


                          do
                          {

                      printf("\n\n\tOu souhaitez vous placer votre X ?\n\tSeparez les coordonees par un espace comme ceci : y x\n\t") ;
                      scanf("%i %i", &position1, &position2) ;
                      printf("\n") ;

                          if(grille [position1][position2] != ' ' )
                          printf("\n\tCase invalide !") ;

                          } while(grille[position1][position2] != ' ' ) ;

                          grille[position1][position2]='X' ;

          }



          // Fonction pour voir si un joueur a  gagné

          int qui_est_gagnant(char m[3][3])
          {
                  int row=0 ;
                  int column=0 ;


                                              //return 0 = pas de gagnant, on continu
                                              //return 1 = L'utilisateur a gagné
                                              //return 2 = Le PC a gagné
                                              //return 3 = Match nul, grille pleine

              if( ( (m[0][0]== 'X') && (m[1][0]== 'X') && (m[2][0]== 'X') )
              ||  ( (m[0][0]== 'X') && (m[1][1]== 'X') && (m[2][2]== 'X') )
              ||  ( (m[0][0]== 'X') && (m[0][1]== 'X') && (m[0][2]== 'X') )

              ||  ( (m[0][2]== 'X') && (m[1][1]== 'X') && (m[2][0]== 'X') )
              ||  ( (m[0][2]== 'X') && (m[1][2]== 'X') && (m[2][2]== 'X') )

              ||  ( (m[2][2]== 'X') && (m[2][1]== 'X') && (m[2][0]== 'X') )

              ||  ( (m[1][1]== 'X') && (m[1][0]== 'X') && (m[1][2]== 'X') )
              ||  ( (m[1][1]== 'X') && (m[0][1]== 'X') && (m[2][1]== 'X') ) )
              return 1 ;

              else if( ( (m[0][0]== 'O') && (m[1][0]== 'O') && (m[2][0]== 'O') )
              ||  ( (m[0][0]== 'O') && (m[1][1]== 'O') && (m[2][2]== 'O') )
              ||  ( (m[0][0]== 'O') && (m[0][1]== 'O') && (m[0][2]== 'O') )

              ||  ( (m[0][2]== 'O') && (m[1][1]== 'O') && (m[2][0]== 'O') )
              ||  ( (m[0][2]== 'O') && (m[1][2]== 'O') && (m[2][2]== 'O') )

              ||  ( (m[2][2]== 'O') && (m[2][1]== 'O') && (m[2][0]== 'O') )

              ||  ( (m[1][1]== 'O') && (m[1][0]== 'O') && (m[1][2]== 'O') )
              ||  ( (m[1][1]== 'O') && (m[0][1]== 'O') && (m[2][1]== 'O') ) )
              return 2 ;


              for(row=0; row<3; row++)
              {
                  for(column=0; column<3; column++)
                  {
                      if(     m[row][column] == ' '   )
                      return 0 ;
                  }
              }

          return 3 ;
          }




          //A placer dans Headers.h

          // Fonction pour dessiner la grille

          void draw_grille(char matrice[][],int nBdelignes, int nBdecolonnes) ;

          // Fonction pour permettre a l'utilisateur de jouer

          void player_play(void) ;

          // Fonction permettant a l'ordinateur de jouer

          void computer_play (void) ;

          // Fonction pour voir si un joueur a  gagné

          int qui_est_gagnant(char m[3][3]) ;



          Il faut ensuite créer une fonction pour permettre a l'ordinateur de savoir s'il doit placer un 'O' ici ou ailleur ou même s'il doit se défendre... etc, je ne l'envoi pas car il fait beaucoup de lignes ^^ !
          • Partager sur Facebook
          • Partager sur Twitter
            25 janvier 2006 à 18:48:07



            // Fonction pour dessiner la grille

            void draw_grille(char matrice[][],int nBdelignes, int nBdecolonnes) ;

            // Fonction pour permettre a l'utilisateur de jouer

            void player_play(void) ;

            // Fonction permettant a l'ordinateur de jouer

            void computer_play (void) ;
            Vive les commentaires inutiles...
            • Partager sur Facebook
            • Partager sur Twitter
              25 janvier 2006 à 19:03:11

              ^^... Oui en effet c'est inutile mais des fois je ne trouve pas de nom de fonction très parlants...
              • Partager sur Facebook
              • Partager sur Twitter
                25 janvier 2006 à 20:07:22

                Ce ne sont pas des jeux mais tous ces programmes me sont très utiles:
                • Conversion Hexadécimale, Décimale
                • Résolveur d'équation du second degré
                • Tableau de signe d'une equation du segond degré
                • Calcul sur le produit scalaire
                • etc...
                Ce sont plutot des applications mathématiques que je me sert en cours, ca me réduit le temps de recherche.

                Voila sinon pour les jeux, j'ai fais un plus ou moin mais avant que le cours soit publié...
                • Partager sur Facebook
                • Partager sur Twitter
                  26 janvier 2006 à 19:46:42

                  Cédric je sai ce qu'est untableau à deux dimensions merci et j'en ai utilisé pour faire mon puissance 4 mais (me demande pas pourquoi je me souviens plus depuis mon dernier post :-° ) j'ai pensé qu'en utilisant un tableau pour chaque colonne ca vous faciliterais les choses (je reréfléchis au pourquoi :p )
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 janvier 2006 à 19:56:48

                    Il faudra voir lequel convient le mieu... En effet, tout le monde ici ne connait pas les matrices (ni les tableaux d'ailleurs ^^ ), je pense p-ê que le mieu serait encore d'attendre le chapitre sur les tableaux de m@tteo21 avant de se lancer...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 janvier 2006 à 22:24:18

                      Lut,

                      Pour tous ceux qui ne connaissent pas, je consseile le livre Langage C, qui est un très bon livre pour se caler en c. Sinon pourquoi ne pas faire un site et un forum intégré pour la sdz est ces developeur, qui sait plus tard des programmes seront publié su telecharger.com qui ont été fait par nous (on peut toutjours rever ^^ ). Pour ma part j'ai acheté ce livre et avec les tutos de la sdz je m'en sort très bien. Sinon après pour s'approfndir il y a google et developpez.com le site (plutot un forum) n1 francophone sur la programmation.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 janvier 2006 à 0:57:15

                        Citation : maminova77

                        Tu risque d'avoir beaucoup de réponse . en effet un langage comme C, C++ ou Java permet de tout faire...
                        Aussi bien des jeux , que de la 2D, 3D, programme Système , sécurité etc...


                        comme un grande majorité des langages
                        si non c'est quoi le jeu des allumettes ? :p
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 janvier 2006 à 7:31:35

                          C'est le jeu ou tu as une ligne d'allumettes et tu peux en enlever une , deux ou trois maximum tour a tour et celui qui prend la derniere allumette a perdu :)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Vos jeux

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown