Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vos jeux

Un récapitulatif...

    22 janvier 2006 à 19:20:16

    bon alors j'aimerais faire un petit récapitulatif de tout ce qu'on peut faire en C :

    - Jeu d'alummettes
    - Morpion
    - Jacpot
    - Calculatrice multifonctions
    --------> PGCD/PPCM
    --------> Convertions
    --------> Decomposition en produit de facteurs premiers

    - Primalité d'un nombre
    - Diviseurs d'un nombre

    ...
    Si vous avez de nouvelles idées, n'hésitez pas à les poster... :)
    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2006 à 19:30:23

      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...
      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2006 à 19:31:19

        c bien ton topic mais ce serait encore mieu si chacun proposé son code de jeu pour pouvoir a notre tour le remodifier et ameliorer les jeux les autres

        donc là tu as fait une liste pourrais tu donner les code pour chacun des jeux ?


        merci
        • Partager sur Facebook
        • Partager sur Twitter
          23 janvier 2006 à 18:17:27

          J'espere que cette fois ci la réponse aurat été envoyée où je veux... ^^ Je suis pas doué...

          Oui, alors pour donner tous les codes ça rique d'être dur, car en général,
          je les programme dans plusieurs fichiers mais je vais faire un effort et pour les trop gros,
          je dirais simplement la technique...

          Alors, pour le jeu du morpion...
          j'ai utilisé une matrice (un tableau à plusieurs dimensions
          mais ce serait trop long a expliquer pour ceux qui n'ont pas
          encore vu... En effet j'ai appris cette fonctionnalité
          récemment.
          Autrement, pour ceux qui aurait déja vu ça, j'ai traité tous les cas
          possibles (ex : si 3 'X' sont alignés en diagonale etc...)

          Pour le jackpot je n'ai toujours pas eu de le réalisé mais je
          pense qu'avec des variables comme "rouleau1","rouleau2"... et
          une génération de caractères spéciaux aléatoire comme le coeur
          le 7, le pique, ... on pourrait se débrouiller ! (voir la table ASCII pour les caractères spéciaux)

          Pour la calculatrice multifonctions, je l'ai réalisée en
          plusieurs fichiers mais je vais vous l'envoyer point par point, question de simplicité :

          Voilà pour les diviseurs d'un nombre :


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

          int main (void)

          {
              int div = 1 ;
              int nB = 0 ;
              system("color 02") ;
                         
              printf("\n\t\t\tDIVISEURS D'UN NOMBRE\n") ;
             
              while(1) // Boucle infinie pour éviter de redemarrer le Programme...
              {
                  div = 1 ; // "div" contiendra tous les nombres de 1 a "nB"
             
                  printf("\n\tEntrez un nombre :\t") ;
                  scanf ("%i", &nB) ;
             
                  while( div < nB )
                  {
                          if( nB%div == 0 ) //Si le nombre (div) en cours de test est un diviseur de nB, on l'affiche...
                   {
                              printf("\n\t%i est divisible par %i", nB, div) ;
                          }
                  div++ ;// On incremente "div" pour tester chaque nombre 1 par 1
                  }
              printf("\n") ;//retour à la ligne pour plus de lisibilité ^^
          }
              return 0 ;
          }



          pour la primalité d'un nombre maintenant :


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

          /******************************************************************************/
          // Je crée une fonction permettant de determiner la primalité d'un nombre

          int premier(int n)
          {
               int premier  = 1 ; // variable = 1 --> nombre premier
               int i        = 2 ;
               
               while (i<n)
               {
                     if (n%i==0) // Si le nombre n est divisible par le diviseur i en cours de test, cela signifie que le nombre n a au moins un diviseur est donc qu'il n'est pas premier
                     premier    = 0 ; // Donc "int premier" n'est plus premier --> premier est maintenant = 0
                     i++ ;
               }
               
               return premier ; // Si premier = 1, le nombre choisi est premier, si = 0, n n'est pas premier
          }

          /******************************************************************************/

          int main (void)
          {
              system("color 02") ;
              int nombre = 0 ;
                   
              printf("\n\t\tDetermination d'un nombre premier\n\n\n") ;
             
              while(1)
              {
                  printf("\tEntrez le nombre a tester :\t") ;
                  scanf("%i", &nombre) ;
             
                  if (premier(nombre)==0)
                  printf("\t==> Le nombre n'est pas premier.\n\n") ;
             
                  else
                  printf("\t==> Le nombre est premier.\n\n") ;
          }
              return 0 ;
          }


          Pour la decomposition en produit de facteurs premiers :



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

          //******************************************************************************
          // Fonction permettant de determiner si un nombre est premier ou pas :
          // Voir ci dessus pour les commentaires           
          int premier(int n)
          {
               int premier  = 1 ;
               int i        = 2 ;

          if(n==0)premier=0;
          else if(n==1)premier=1;
          else
          {
               
               while (i<n)
               {
                     if (n%i==0)
                     premier    = 0 ;
                     i++ ;
               }
          }
               
               return premier ;
          }
          // Fonction permettant de renvoyer la valeur absolue du nombre :
                     
          int valeurabsolue(int nb) // ex : valeur absolue de -6 notée |-6| = 6, |4| = 4
          {
              if(nb<0)
              nb=-nb ;
             
              return nb ;
          }
          // Fonction permettant de dessiner tous les facteurs premiers d'un nombre :

          void decompo(int nombre)
          {

               
          for(;nombre!=1;)
          {
               int div = 2 ;
               

               
               for(; div<=nombre; ++div)// ne pas oublier le EGAL !!
               {
              // Si vous ne comprenez pas, essayez donc avec un nombre quelconque...
                         
                          if(premier(div)==1)
                          {
                               if((nombre%div)==0)
                               {
                               printf(" %i x", div) ;
                               nombre/=div ;
                               }
                          }
               }
          }


          return ;
          }
                     

          //*********************Programme************************************************

          int main(void)
          {
              system("color 02") ;
             
                            int nombre    = 1 ;
             
              printf("\n\tDecomposition d'un nombre en produit de facteurs premiers\n\n") ;
             
              while(2==2)
              {
              printf("\tVotre nombre :\t") ;
              scanf("%i", &nombre) ;
             
              nombre      = valeurabsolue(nombre) ;
             
             
                          if(premier(nombre)==1)
                          printf("\tLe nombre choisi est premier !\n\n") ;
                         
                          else if(premier(nombre)==0)
                          {
                                   if(nombre==0){printf("\tLa decomposition du nombre est 0 x 1\n\n") ;}
                                   else if(nombre==1){printf("\tLa decomposition du nombre est 1 x 1") ;}
                                   else
                                   {
                          printf("\tLa decomposition du nombre est ") ;
                          decompo(nombre) ;
                          printf(" 1\n\n") ;
                                   }
                          }
              }
                         
             
                           
            system("PAUSE") ;
            return 0;
          }


          Pour les convertions en decimal --> Binaire par exemple, c'est un problème d'affichage !
          On demande un nombre à l'utilisateur avec scanf et on réaffiche le nombre dans
          printf("nombre binaire --> %o", nombre) ;
          %o (o = la lettre !) pour l'affichage d'un nombre en binaire et
          %ox pour l'affichage en octal...
          Bonne chance !
          • Partager sur Facebook
          • Partager sur Twitter
            23 janvier 2006 à 20:12:37

            Pour la décomposition en facteurs premiers, je crois me souvenir avoir donné un code beaucoup, beaucoup plus court, qui fait ca beaucoup, beaucoup plus rapidement.

            Pourquoi ne pas le mettre ?

            C'est pas que je veuille mettre en valeur mon code, mais puisque tu veux "ce qu'on peut faire en C", et pas "ce que j'ai fait en C", autant mettre les meilleurs codes possibles non ?
            • Partager sur Facebook
            • Partager sur Twitter
              23 janvier 2006 à 20:19:04

              d'ailleur la primalité d'un nombre c'est pas trop un jeu pour moi :p
              autant renommé ce topic idée de programme quoi

              donc pour rajouter des vrais jeu (en console):
              puissance 4
              pile ou face
              sudoku
              le pendu
              trivial poursuite (version très simplifié ^^)
              démineur
              etc etc

              et ensuite reprendre tout ces jeux pour les "truquers" ou instaurer des niveaux de diffucultés :)
              • Partager sur Facebook
              • Partager sur Twitter
                23 janvier 2006 à 21:41:34

                Bien sûr !!!!
                Ce topic n'est évidemment pas réservé a "mes codes"... Je les ai posté parceque qlq'un me les demandait ! Surtout, n'hésitez pas à poster vos idées de jeux ou de programme et si possible les codes sources qui vont avec ! Sinon, si vous manquez d'imagination, pourquoi ne pas poster des idées d'améliorations ou les codes sources améliorés (plus ou moins courts) ! ^^
                A++
                • Partager sur Facebook
                • Partager sur Twitter
                  23 janvier 2006 à 22:32:52

                  Voici mon code pour les facteurs premiers.

                  #include <stdio.h>

                  void facteurs_premiers(int nombre)
                  {
                      int n=nombre, avancee=2;
                      printf("1\n");
                      while(avancee*avancee <= n)
                      {
                              if (0 == (n % avancee))
                              {
                                      n /= avancee;
                                      printf("%d\n", avancee);
                              }
                              //elseif (avancee>2) avancee += 2;
                              else avancee++;
                      }
                      printf("%d"\n, n);
                  }

                  int main(void)
                  {
                          int nombre;
                          scanf("%d", &nombre);
                          facteurs_premiers(nombre);
                          return 0;
                  }


                  (Sa complexité est en O(sqrt(n)))
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 janvier 2006 à 20:13:38

                    y'aurai t'il moyen a notre niveau de faire une petit jeu de puissance 4
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Engineer in Training please wait fr social life ---- Vist www.charybde.be
                      24 janvier 2006 à 20:15:12

                      ben un puissance 4 c'est un morpion avec plus de case...

                      [edit] et ouais il faut connaître les tableaux...
                      c'est un des prochains chapitres ou encore dans longtemps ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 janvier 2006 à 20:15:20

                        En gros non :)

                        Attendez au moins le chapitre sur les tableaux.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 janvier 2006 à 20:18:14

                          surement pour longtemps a petite échelle 15 jour
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Engineer in Training please wait fr social life ---- Vist www.charybde.be
                            24 janvier 2006 à 20:20:58

                            Ben j'ai une vague idée de ce qu'il faut faire et c'est beaucoup plus dur qu'un morpion car la, pas question de traiter au cas par cas !
                            A notre niveau, l'idéal serait de le faire a plusieurs, comme qlq'un qui demande à d'autre programmeurs, "toi, fais moi une fonction qui permet de faire ca !"
                            Mais cela demande beaucoup d'organisation, nan ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 janvier 2006 à 20:22:16

                              ben si tu veut on peut essayer de faire un autre pojet pour voire si on arrive a faire un groupe
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Engineer in Training please wait fr social life ---- Vist www.charybde.be
                                24 janvier 2006 à 20:22:42

                                J'ai déja appris les tableaux et les matrices dans un livre,et c'est bien vrai que sans, je vois pas comment faire...

                                Oui pourquoi pas pour l'idée du projet...
                                Mais il faudrait regrouper plus de programmeurs volontaires et quelqu'un qui construit le programme avec un plan.. et tout et tout ^^
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 janvier 2006 à 20:34:48

                                  tiens tiens...ca me fait penser à ça

                                  S'il y a des interressé...sinon oui je suis volontaire...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    24 janvier 2006 à 20:37:25

                                    Cool, Un de plus...
                                    Je veut bien rédiger une fonction du style draw_matrice pour dessiner le plateau de jeu.
                                    Quelqu'un veut-il se désigner pour donner les taches a chaque programmeurs ?
                                    Moi, ça ne me dérange pas mais j'ai beaucoup de travail en ce moment.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      24 janvier 2006 à 20:38:43

                                      moi je m'ennuie j'ai fini 1 TP pour le site alors maintenant...par contre j'ai le niveaux des cours ;)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        24 janvier 2006 à 20:41:13

                                        Ok, Ok, on verra ça demain car moi je vais bosser un petit peu.
                                        Bonne nuit et à plus !
                                        Ceux qui souhaiterez "s'inscrire" ou apporter des conseils, qu'ils n'hésitent pas : Nous avons besoin de main d'oeuvre ^^ !
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          24 janvier 2006 à 20:43:05

                                          on peut pas vraiment dire qu'on "s'inscrit"mais bon...

                                          sinon ne cherchez pas mon tp j'attend eternellement qu'on le valide :p
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            24 janvier 2006 à 22:39:10

                                            Vous voulez pas attendre la SDL pour faire ce genre de trucs ?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              24 janvier 2006 à 23:53:52

                                              Le prochain chapitre du cours portera justement sur les tableaux.
                                              Mais continuez à faire vos programmes en console svp, c'est un peu dangereux de se lancer dans la sdl avant d'avoir toutes les notions de C de base ;)
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                                                25 janvier 2006 à 0:14:08

                                                Bien sûr, ce que je voulais dire c'est "tant qu'on est en console, ne faites pas de programmes à vocation graphique comme un puissance 4, mais plutôt des programmes consoles, et attendez le cours sur la SDL de m@teo pour faire ce genre de choses".
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  25 janvier 2006 à 0:26:00

                                                  Il est tout à fait possible de faire un mpuissance 4 en console, suffit juste avant chaque saisie de case d'afficher la grille pour voir ou en est le jeu
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    25 janvier 2006 à 0:53:08

                                                    Sauf que c'est pas mal plus compliqué à faire qu'en SDL, alors où est l'intérêt ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      25 janvier 2006 à 2:06:36

                                                      Moi je voudrais bien embarqué ^^
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        25 janvier 2006 à 3:40:07

                                                        ba meme si la lib graphique est plus adaptée faire un jeu c'est plus interéssant pour les gens qui debute ^^
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          25 janvier 2006 à 13:29:52

                                                          Je n'est jamais dit que l'on devait utiliser la sdl... En fait je ne vois pas comment faire avec étant donné que nous n'avons surement pas la moindre idée de comment s'en servit ^^ !
                                                          Ce programme a l'air très faisable en console, mais si la difficultée et trop dure, un autre programme n'est pas de refus...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            25 janvier 2006 à 13:42:57

                                                            Un solveur de sudoku ca peut etre bien, (j'avais commencé et apres une erreur ca m'a saoulé j'ai abandonné mais en réfléchissant c'est pas trop compliqué ;) ). Et puis ca fait un bon entrainement. Ca utilise les tableaux mais ca m'a prit 5 min pour comprendre le minimum necessaire pour l'utilisation des tableaux pour le sudoku :)
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              25 janvier 2006 à 13:49:00

                                                              pour votre puissance 4, j'ai pensé que si vous faisiez un tableau pour chaque colonne ou bien un tableau pour chaque ligne, ca pourait largement faciliter la programation. Mais avant de vous lancer dans un puissance 4, faites un morpion. c'est a peu près la même chose, en plus simple.
                                                              • 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