Partage
  • Partager sur Facebook
  • Partager sur Twitter

[mini-jeux]puissance 4

    1 février 2006 à 16:24:58

    Salut tout le monde, je suis nouveau sur le site du zéro et aussi dans le langage C maintenant... :)
    Bah je viens vous présenté mon premier programme un mini puissance 4.
    Je me suis arreté au cours sur les structures itératives mais vu que je fais de l'algorithmique en cours, j'ai utilisé les tableaux a deux dimensions..
    L'executable est ici ou la. :-°

    Et la source (oui c'est un peu long mais je vais bientot me mettre au fonction.. ^^ ):


    // code supprimé !!! ça prends trop de place...
    }
    :p
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      1 février 2006 à 16:28:40

      exelent ! vraiment tres bien comme systeme !
      • Partager sur Facebook
      • Partager sur Twitter
        1 février 2006 à 16:30:48

        Oula vivement que tu te mette aux fonctions :p

        Sinon j'ai testé et je l'ai trouvé pas mal, surtout l'affichage de la grille.

        Bonne continuation ;)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          1 février 2006 à 17:08:52

          Euh je capte pas tous à la source (je capte même rien lol), pourrait tu la commenter un peut plus s'il te plait :)

          EDIT: j'ai rien dit, si je capte bien, il y a une histoire de tableau, et je n'ait pas encore vu sa donc bon pour que je conprenne lol
          • Partager sur Facebook
          • Partager sur Twitter
            1 février 2006 à 17:13:05

            La source serait plus compréhensible si tu modulait le tout en plusieur fonctions.

            Mais c'est vraiment du beau travail !!
            • Partager sur Facebook
            • Partager sur Twitter
              1 février 2006 à 17:17:51

              Citation : Insomniak

              La source serait plus compréhensible si tu modulait le tout en plusieur fonctions.

              Mais c'est vraiment du beau travail !!



              Oui je le ferais quand j'aurais vu le cours sur les fonctions et que j'aurais bien compris :-°

              Pour commenté les tableaux si tu en as jamais vu c'est vraiment pas évident vaut mieux que tu lises les cours. M@theo explique vraiment mieux que moi. :)

              Sinon plus j'avance dans le cour plus j'aime le C. :D

              PS: j'adore ta signature Insomniak ça a failli m'arrivé pour une accolade lol.
              • Partager sur Facebook
              • Partager sur Twitter
                2 février 2006 à 18:55:55

                Bonjour tout le monde, je viens de finir le chapitre sur les fonctions mais j'ai du mal à assimiler le truc :-°
                Donc j'ai voulu essayé dans mon puissance 4 mais en compilant j'ai tout plein d'erreur :colere:
                Si quelqu'un pouvait me dire ceux qui tourne pas rond ça serait gentil ^^


                // code supprimé !!! ça prends trop de place...
                • Partager sur Facebook
                • Partager sur Twitter
                  2 février 2006 à 19:08:28

                  Je pense que tu dois pouvoir arriver à simplifier ta série de if ( par un switch par exemple )
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    2 février 2006 à 19:25:34

                    Citation : rom1504

                    Je pense que tu dois pouvoir arriver à simplifier ta série de if ( par un switch par exemple )



                    Ou plutôt lire le chapitre sur les boucles !!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 février 2006 à 19:33:30

                      J'ai lu le chapitre sur les boucles mais je vois ceux qu'une boucle et ou switch changerais vu que ma fonction marche pas... :-°
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 février 2006 à 19:40:03

                        Déjà, tu mets 3 "if" d'affilée. Je crois que ça marche pas, il faut faire :

                        if ()
                        {
                        } //Instructions

                        else if ()
                        {
                        } //Instructions

                        else
                        {
                        } //Instructions




                        Edit : J'ai rien dit, le premier code était pareil et il fonctionnait. ^^
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 février 2006 à 19:54:22

                          Oui mais le si imbriqué ne marche pas ici et utilisez des while ou for ralongerais encore plus la synthaxe..
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 février 2006 à 19:50:12

                            Salut tout le monde,

                            J'ai avancé dans le cour donc je vous propose la version 2 ici.
                            Elle n'apporte rien de nouveau au niveau affichage c'est le code qui a été changé.. ^^ Merci M@theo, grace a toi tous devient de plus en plus claire... ;)

                            J'attends vos reactions mais que les bonnes... :lol:


                            main.c
                            #include <stdio.h>
                            #include <stdlib.h>
                            #include "intro.h"
                            #include "tab.h"


                            int main(int argc, char *argv[])
                            {
                            int jeu=0,choix=1;
                            long *pointeur,tour=0;

                            intro();

                            while ( choix==1){

                                    while ((tour!=36) && (*pointeur!=1)){
                                                 
                                    tour++;
                                   
                                            if (tour%2==1){
                                   
                                            game(1,1);
                                            verification(4,pointeur);
                                     
                                                             if(*pointeur==1){
                                                             printf("\n\nLe joueur 1 a gagner\n");
                                                             }
                                     
                                             }
                                   
                                   
                                             else{
                                         
                                             game(2,5);
                                             verification(20,pointeur);
                                     
                                                             if(*pointeur==1){
                                                             printf("\n\nLe joueur 2 a gagner\n");
                                                             }
                                     
                                              }
                                    affitab();
                                    }
                                   
                            printf("Voulez-vous rejouer?\n\n1- oui\n2- non\n");
                            scanf("%ld",&choix);
                            tour=0;
                            *pointeur=0;
                            vidertableau();
                            }
                             
                            printf("\n\nO_o   Game Over  o_O\n\n");
                            system("PAUSE");
                            return 0;
                            }



                            tab.h
                            void verification(long test,long *pt1);
                            void affitab();
                            void game(long numjoueur, long piece);
                            void vidertableau();


                            tab.c
                            static int tableau[6][6]={0},i,j;



                            void verification(long test,long *pt1){
                                   
                                   
                                 //verification verticale
                                  if(( tableau[i][j]+tableau[i+1][j]+tableau[i+2][j]+tableau[i+3][j]==test) ||
                                     ( tableau[i-1][j]+tableau[i][j]+tableau[i+1][j]+tableau[i+2][j]==test) ||
                                     ( tableau[i-2][j]+tableau[i-1][j]+tableau[i][j]+tableau[i+1][j]==test) ||
                                     ( tableau[i-3][j]+tableau[i-2][j]+tableau[i-1][j]+tableau[i][j]==test) ){
                                      *pt1=1;   
                                }
                               
                               
                                //verification horizontale
                                  else if(( tableau[i][j]+tableau[i][j+1]+tableau[i][j+2]+tableau[i][j+3]==test)||
                                     ( tableau[i][j-1]+tableau[i][j]+tableau[i][j+1]+tableau[i][j+2]==test)||
                                     ( tableau[i][j-2]+tableau[i][j-1]+tableau[i][j]+tableau[i][j+1]==test)||
                                     ( tableau[i][j-3]+tableau[i][j-2]+tableau[i][j-1]+tableau[i][j]==test)){
                                      *pt1=1;     
                                }
                               
                               
                               
                                //verification diagonal bas gauche haut droite
                                  else if(( tableau[i][j]+tableau[i-1][j+1]+tableau[i-2][j+2]+tableau[i-3][j+3]==test)||
                                     ( tableau[i+1][j-1]+tableau[i][j]+tableau[i-1][j+1]+tableau[i-2][j+2]==test)||
                                     ( tableau[i+2][j-2]+tableau[i+1][j-1]+tableau[i][j]+tableau[i-1][j+1]==test)||
                                     (tableau[i+3][j-3]+tableau[i+2][j-2]+tableau[i+1][j-1]+tableau[i][j]==test)){
                                      *pt1=1;       
                                }
                               
                               
                                //verification diagonal bas droite haut gauche
                                  else if(( tableau[i][j]+tableau[i-1][j-1]+tableau[i-2][j-2]+tableau[i-3][j-3]==test)||
                                     ( tableau[i+1][j+1]+tableau[i][j]+tableau[i-1][j-1]+tableau[i-2][j-2]==test)||
                                     ( tableau[i+2][j+2]+tableau[i+1][j+1]+tableau[i][j]+tableau[i-1][j-1]==test)||
                                     ( tableau[i+3][j+3]+tableau[i+2][j+2]+tableau[i+1][j+1]+tableau[i][j]==test)){
                                      *pt1=1
                                }
                            }

                            void affitab(){

                            for (i=0; i<=5; i++){           //affichage du tableau
                            printf("\n\t");

                                   for (j=0; j<=5; j++){
                                       
                                        if(tableau[i][j]==0){
                                          printf("- ");
                                        }
                                       
                                        if(tableau[i][j]==1){
                                          printf("O ");
                                                            }
                                                           
                                        if(tableau[i][j]==5){
                                          printf("X ");
                                                            }
                                                           
                                     }

                            }
                             printf("\n\n");
                            }

                            void game(long numjoueur, long piece){

                            int ok=0;

                              printf("C'est au joueur %ld de jouer.\n\nSelectionner la colonne ou vous voulez mettre votre pion (de 1 a 6).\n\n",numjoueur);
                              scanf("%ld",&j);
                              j--;
                                    while ((j<0)||(j>5)||(tableau[0][j]!=0)){
                                        printf("Erreur de saisie\n");
                                        scanf("%ld",&j);
                                        j--;
                                    }
                              i=5;

                                    while (ok!=1) {
                                                       
                                         if (tableau[i][j]!=0) {
                                         i--;
                                         }

                                         else{
                                         tableau[i][j]=piece;
                                         ok=1;
                                         }
                                    }

                            }

                            void vidertableau(){
                                 
                            for (i=0; i<=5; i++){
                               
                                   for (j=0; j<=5; j++){
                                   tableau[i][j]=0;   
                                   }
                            }
                                     
                            }





                            intro.h
                            void intro();

                            C'etais vraiment la peine de la mettre? :-°

                            intro.c

                            void intro(){
                                printf("\t===========================================\n");
                                printf("\tO                                         O\n");
                                printf("\tO                  Mini                   O\n");
                                printf("\tO                                         O\n");
                                printf("\tO               Puissance 4               O\n");
                                printf("\tO                                         O\n");
                                printf("\tO                   By                    O\n");
                                printf("\tO                                         O\n");
                                printf("\tO                  FeTi                   O\n");
                                printf("\tO                                         O\n");
                                printf("\t===========================================\n\n\n");
                                system("PAUSE");
                                printf("\n\n");
                            }



                            • Partager sur Facebook
                            • Partager sur Twitter

                            [mini-jeux]puissance 4

                            × 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