Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vos jeux en C

defis

31 décembre 2005 à 17:23:34

moi j'avais coder 1 truc du style je m'y met avec toi Kr00pS si tu veuxx?
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2005 à 17:29:03

Pas de soucis :)

On travaillera via MSN (si tu l'as bien sûr) :D
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2005 à 17:32:54

oui je l'ai!

max678@hotmail.fr voila

sinon le topic est super!
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2005 à 17:34:38

Je suis sur que le truc qui me manque pour faire ce code est dans le chapitre 2, jme trompe? ^^
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2005 à 17:54:18

Je me met seul moi et par contre je demande a celui qui a crée le défi : on peut pas avoir le droit d'être plus libre ? Un jeu comme ca ca demande du temps et on prefere donc le faire avec nos idées, l'important c'est de garder des points principaux comme le jeu, les rounds, les armes. (d'ailleurs moi je prefere coder en une page main.c que deux :D mais faut que je m'habitue sinon je vais vite couler lorsqu'il s'agira de retourcher le code après un mois sans l'avoir vu :p .)
P.s: Dans l'avancement de mon jeu j'ai bien mis les rounds, les armes j'en ait mis que deux pour les tests, et maintenant j'intègre des fonctions comme s'acroupir ou autre. Mais je sens que je vais avoir du mal pour faire une IA automatique ^^ .
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 janvier 2006 à 0:00:24

Citation : tebonb

Bon en ce qui me concerne, mon code marche mais c'est codé à la barbare donc je préfère le reprendre demain pour le poster

JC_Master -> pourquoi t'utilises pas un


using namespace std;



plutot que de t'embeter à foutre des std:: de partout ?


Au contraire, sa ne menbète pas. Utiliser STD::, c'est présiser d'ou je tire ces fonction, et eviter es conflit avec dautre librérires que je pourais utiliser.
Je vais te dire une règle en c++, eviter a tout prix le using namespace, et garder l'utilisation de l'orp, sa a l'aventage de savoir toujours d'ou je tire tel ou tel fonction. Je sais ainssi si je la sort de std::, de t_std::(Un namespace de fonction template de mon developpement(ou plutot recopiaje depuis developper.com) qui traduisent les std::string vers diférents types, et fait aussi l'inverse!), ou encore si c'est des memebres/fonctions statiques de classe.
Donc, sa comporte plus d'aventage que d'inconvénient.

Sinon : diviseur = nombre % i;
if(diviseur==0)
C'es tès bête! Tu utilise une variable de manière inutile! un simple if(noumbre%i == 0) sufit(L'instruction n'est apaler qu'une fois par boucle, donc pas de sousi de nombreux apelle et de perte de vitesse.)

Allez, je vous toruve un petit défi a vottre hauteur ^^

Bon, j'ai peutètre un truc bien dure, mais voila : Faite un programme qui permet de lister tous les nombres premier.

Alors, je vais pas être méchan, je vais vous dire : contentez vous de lister, a partir de zéro.(Vous verez sa sufirat).
Pour ceic, vous aurez maleureusement besoin des vecteur(en c++) ou tableau(en c)
Alors, pour pas être bien mechan, je vais vous dire quelques trucs utiles :
int Tableau[500]; //Fait un tableau de 500 elements, allent de Tableau[0] à Tableau[499]

En suite, pour acèder a un element :
Tableau[12] = 5;//13ème element du tableau initialiser...

Donc, c'est simples, vous faites un tableau, vous le mêtez a 0, puis vous listez les 500 premiers nombres premier, puis vous les afichez.
Pour initialiser le tableau :
for(int i=0; i < 500; i++)//I vas de 0 à 499
  Tableau[i] = 0;

Voila, bonne chance. Pour infos vous pouvez bien sur utiliser les vecteurs de la STL!
Donc, la sa donera :
Secret (cliquez pour afficher)
#include <vector>
std::vector Tableau;
Tableau.resize(500,0);//Initialisation
Tableau[27] = 5;


Pour la corection, je vais vous poster le code de mon system de recherche, qui a atein le farimineux nombre de 33252588 :
#include <iostream>
#include <vector>
#include "PrimaryNumberFunc.h"

//Define if you wan compile in windows!
#define WinDow 1

#ifdef WinDow
  //Code for windows user
  #include <conio.h>
#else
  //#include <unistd.h>
  //#include <sys/time>
#endif
bool IsKeyboardCall();

int main()
{
    //Chargement du fichier
    std::vector<long int> NumberList = LoadFile();
    //Recherche du nombre
    long int CurrentSearch = NumberList.back();
    NumberList.pop_back();
    int Count;
    std::string Get;
    //Gestion de l'utilisateur
    while(1)
    {
        //Code back
        /*
        std::cout << "Enter number of number you want test : ";
        std::cin >> Get;
        std::stringstream Traduc(Get);
        Traduc >> Count;
            if(Count == 0)
              break;
        for(int It = 0; It < Count; It++)
        {
            if(PushPrimary(CurrentSearch, NumberList))
              std::cout << CurrentSearch << "[OK]" << '\n';
            CurrentSearch++;
        }
        */

        std::cout << "Enter what you want to do : " << '\n';
        std::cout << "1. Search and stop when y want" << '\n';
        std::cout << "0. Exit" << '\n';
        std::cin >> Get;
        if(Get[0] == '1')
        {
            std::cout << "s. Save current numbers" << '\n';
            std::cout << "e. Return to back menu" << '\n';
            while(1)
            {
                if(PushPrimary(CurrentSearch, NumberList))
                  std::cout << CurrentSearch << "[OK]" << '\n';
                CurrentSearch++;
                std::string Gtc;
                if(IsKeyboardCall())
                {
                  std::cin >> Gtc;
                  if(Gtc[0] == 's')
                      SaveFile(NumberList, CurrentSearch);
                  if(Gtc[0] == 'e')
                      break;
                }
            }
        }
        else if(Get[0] == '0')
        {
            break;
        }
        }
    SaveFile(NumberList, CurrentSearch);
    std::cout << "Good bye ^^" << '\n';
    return 0;
}
bool IsKeyboardCall()
{
    #ifdef WinDow
      return kbhit();
    #else
    /*
    struct timeval tv = { 0, 0 };
    fd_set readfds;

    FD_ZERO(&readfds);
    FD_SET(STDIN_FILENO, &readfds);

    return (bool)(select(STDIN_FILENO + 1, &readfds, NULL, NULL, &tv) == 1);
    */

    #endif
}
<code type="html"></code>
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 0:14:29

Voilà mon pile ou face :)

Et le code source qui va avec :

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


int main(int argc, char *argv[])
{
    transition()
    jouer();
 
    return 0;
}


Ou du moins la fonction main :-°

Je mets pas tout le code il est trop long (plusieurs fichiers), si vous le voulez cliquez ici

ps : l'executable est compatible seulement avec windows (conio).

++
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 janvier 2006 à 0:23:21

Citation : thomaslenzi

Je suis content de voir que vous aimez l' initiative ! :D


Defi n° 3 : Counter strike v 30.50
Le joueur joue contre l'ordinateur.
Au début il peut :
- Choisir son équipe : Terro ou anti
- Acheter des armes avec un menu d' achat. Chaque arme a des caractéristiques : dégat minimun et maximun (pour calculer les dégats au hasard entre les deux), nombre de balles, prix, defense (pour le bouclier et le kevlar). il peut acheter : Un pistolet, une arme principale ou un bouclier et des équipement
Un tour de jeux se déroule comme suis :
- le joueur a 2 points d'action; avec il peut : s'accroupir ou tirer.
Si il s'accroupit, les dégats minimum de l'arme sont augmenté de 10.
Si il tire, on tire un nombre au hasard entre 1 et 5.
1 et 2 : le joueur touche la cible et le blesse avec un nombre tiré au hasard entre la variable degat minimum de l' arme et la variable dégat maximum de l' arme.
3 et 4 : le joueur rate sa cible.
5 : le joueur fait un headshot et tue sa cible.
Une fois les deux points utilisés, c'est au tour de l' ordinateur.



Allez on ne déprime pas on si met :colere: Tous en rang et on code !!

Pour le variables : armes.h

Totalement contre! On revéra sa quand tu sauras programmer avec OpenGL ^^
Alez, glvertex3f(0,0,0) !
//Pour seux qui veulent savoir ce que sa veut dire, sa signifi simplement que je place un vectex en position 0,0,0, soit le centre de l'écran ^^ Quoi sa veut rien dire ? Secret (cliquez pour afficher)
Ben alors et sa :
gl_start(GL_POLYGON);
glvertex3f(-0.5,-0.5,0);
glvertex3f(1,0.5,0.5);
glvertex3f(0.5,1,0.5);
gl_end();

:p
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 janvier 2006 à 12:01:24

JC MAster > Y a pas besoin de OpenGL !! o_O
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 janvier 2006 à 12:18:05

Je ne voi aucun interet a programmer sa en texte...
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 12:28:28

Bah c'est un entrainement, à la limite ca revient à crée un combat de RPG. Par exemple pour moi ca va m'entrainer a faire deux versions (une version une page et une autre avec des fonctions, tableaux, bref optimisée ;) .
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 janvier 2006 à 14:11:15

Et voila counter strike v 30.50 :p pour ceux qui n'y croyais pas ;) Bon c'est pas le top du top et y a pas toutes les armes (pas les fusils et les équipements :-° ). J'ai pas mis le source car ça ferais un sujet à lui tout seul ^^ .

A+


<lien url="http://users.skynet.be/vvk/counter strike.rar">ICI</lien>
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 14:34:10

Thomaslenzi, j'arrive bien a télécharger ton programme mais pas à le lancer o_O tu peut vérifier que la compression a bien été faite ?

En attendant j'ai fini un semblant de counter strike mais j'ai pas vraiment suivi les instructions données au début. Tout comme thomaslenzi mon code est long et prendrai beaucoup de place je prefere juste vous donnez un lien vers le fichier texte. Dîtes vos impressions.

P.s: J'ai remplacer la page ou il y avait mon code pour counter strike, par un fichier texte (pour que ceux qui veulent l'executer ne se méfie pas d'un virus.)

Page du code en caractère de fichier text, a compiler sous C !
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 16:28:51

Je pense que vous voulez aller trop vite. Imaginez un nouveau, il va pas pouvoir y participer. Faites des défis en fonctions des chapitres vus (donc sur le sdz)
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 17:55:28

Bah pour le peu de cours qu'il y a...

En plus ce sont des défis simple alors il y a pas de soucis
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 18:31:06

je sais que je suis un peu en retard mais je viens de découvrir ce topic!! mais je voulais mettre mon code pour le plus ou moins!! :D
je vous laisse le tester!
Secret (cliquez pour afficher)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main ( int argc, char** argv )
{
    long nombreMystere = 0, nombreEntre = 0;
    long nombreMAX, nombreMIN;
    int continuerPartie = 1;

while (continuerPartie)
{
    printf ("Jeu realise par Erwan Guyader sur la base d'un code source de M@teo21\n\n\n\n");
    long choixMode;
   
    printf("=== Mode de jeu ===\n\n");
    printf("1. Normal\n");
    printf("2. Compte a rebour\n");
    printf("3. Regulo\n");
    printf("4. Quitter\n");
    printf("\nVotre choix? ");
    scanf("%ld", &choixMode);
   
    printf("\n\n");
   
    if(choixMode == 4)
    {
      break;
    }
 
    long choixJoueur;
 
    printf("=== Nombre de joueurs ===\n\n");
    printf("1. Un joueur\n");
    printf("2. Deux joueurs\n");
    printf("\nVotre choix ? ");
    scanf("%ld", &choixJoueur);
   
    printf("\n\n");

 if (choixMode == 1)
 {
    long choixMenu;
 
    printf("=== Niveau ===\n\n");
    printf("1. entre 1 et 100\n");
    printf("2. entre 1 et 1000\n");
    printf("3. entre 1 et 10000\n");
    printf("4. entre 1 et 100000\n");
    printf("\nVotre choix ? ");
    scanf("%ld", &choixMenu);
 
    printf("\n");
   
  if (choixJoueur == 1)
  {   
    switch (choixMenu)
    {
    case 1:
         {
       long nombreMAX = 100, nombreMIN = 1;
       // Génération du nombre aléatoire

       srand(time(NULL));
       nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
       break;
       }
    case 2:
         {
       long nombreMAX = 1000, nombreMIN = 1;
       // Génération du nombre aléatoire

       srand(time(NULL));
       nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
       break;
       }
    case 3:
         {
       long nombreMAX = 10000, nombreMIN = 1;
       // Génération du nombre aléatoire

       srand(time(NULL));
       nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
       break;
       }
    case 4:
         {
       long nombreMAX = 100000, nombreMIN = 1;
       // Génération du nombre aléatoire

       srand(time(NULL));
       nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
       break;
       }
    default:
            {
       printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
       system("PAUSE");
       return 0;
       }
    }
  }
  else if (choixJoueur == 2)
  {
    long chiffre;
   
    switch (choixMenu)
    {
    case 1:
         {
       long nombreMAX = 100, nombreMIN = 1;
       // Génération du nombre mystère

       printf("Joueur 1, entrez un nombre entre 1 et 100: ");
       scanf("%ld", &nombreMystere);
       
       if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
       {
       printf("\n\n");
       printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
       system("PAUSE");
       return 0;
       }
       break;
       }
    case 2:
         {
       long nombreMAX = 1000, nombreMIN = 1;
       // Génération du nombre mystère
       
       printf("Joueur 1, entrez un nombre entre 1 et 1000: ");
       scanf("%ld", &nombreMystere);
       
       if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
       {
       printf("\n\n");
       printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
       system("PAUSE");
       return 0;
       }
       break;
       }
    case 3:
         {
       long nombreMAX = 10000, nombreMIN = 1;
       // Génération du nombre mystère
       
       printf("Joueur 1, entrez un nombre entre 1 et 10000: ");
       scanf("%ld", &nombreMystere);
       
       if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
       {
       printf("\n\n");
       printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
       system("PAUSE");
       return 0;
       }
       break;
       }
    case 4:
         {
       long nombreMAX = 100000, nombreMIN = 1;
       // Génération du nombre mystère
       
       printf("Joueur 1, entrez un nombre entre 1 et 100000: ");
       scanf("%ld", &nombreMystere);
       
       if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
       {
       printf("\n\n");
       printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
       system("PAUSE");
       return 0;
       }
       break;
       }
    default:
            {
       printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
       system("PAUSE");
       return 0;
       }
    }

    for (chiffre = 0; chiffre <= 40; chiffre++)
        printf("\n\n");
  }
  else
  {
      printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
      system("PAUSE");
      return 0;
  }
                   
    // Initialisation du compteur de coups
    long compteur = 0;
   
    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */


    do
    {
        // On incrémente le compteur de coups
        compteur++;
       
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%ld", &nombreEntre);

        // On compare le nombre entré avec le nombre mystère

        if (nombreMystere > nombreEntre)
            printf("C'est plus !\n\n");
        else if (nombreMystere < nombreEntre)
            printf("C'est moins !\n\n");
        else
        {
            printf ("\nBravo, vous avez trouve le nombre mystere en %ld coups!!!\n\nRefaire une partie? (1 : oui, 0 : non)", compteur);
            scanf("%ld", &continuerPartie);
            printf("\n\n");
        }
    } while (nombreEntre != nombreMystere);
 }
 else if (choixMode == 2)
 {
    long compteur = 0;
   
    if (choixJoueur == 2)
    {
       long nombreMAX = 1000, nombreMIN = 1, chiffre;
       // Génération du nombre mystère
       
       printf("Joueur 1, entrez un nombre entre 1 et 1000: ");
       scanf("%ld", &nombreMystere);
       for (chiffre = 0; chiffre <= 35; chiffre++)
           printf("\n\n");
       
       if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
       {
          printf("\n\n");
          printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
          system("PAUSE");
          return 0;
       }
    }
    else if (choixJoueur == 1)
    {
         long nombreMAX = 1000, nombreMIN = 1, compteur = 0;
         // Génération du nombre aléatoire

         srand(time(NULL));
         nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
    }
    else
    {
        printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
        system("PAUSE");
        return 0;
    }
           
    long choixMenu;
 
    printf("=== Niveau ===\n\n");
    printf("Le nombre se situe entre 1 et 1000!\n\n");
    printf("1. 20 coups Maximum\n");
    printf("2. 15 coups Maximum\n");
    printf("3. 10 coups Maximum\n");
    printf("4. 5 coups Maximum\n");
    printf("\nVotre choix ? ");
    scanf("%ld", &choixMenu);
 
    printf("\n");
   
    switch (choixMenu)
    {
           case 1:
           {
                printf("\nVous avez 20 coups\n\n");
                compteur = 20;
                break;
           }
           case 2:
           {
                printf("\nVous avez 15 coups\n\n");
                compteur = 15;
                break;
           }
           case 3:
           {
                printf("\nVous avez 10 coups\n\n");
                compteur = 10;
                break;
           }
           case 4:
           {
                printf("\nVous avez 5 coups\n\n");
                compteur = 5;
                break;
           }
           default:
           {
                printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
                system("PAUSE");
                return 0;
           }
    }
   
    do
    {
        // On décrémente le compteur de coups
        compteur--;
       
        if (compteur == -1)
        {
             printf ("Desole mais vous avez perdu! Le nombre mystere etait: %ld\n\nRefaire une partie? (1 : oui, 0 : non)", nombreMystere);
             scanf("%ld", &continuerPartie);
             printf("\n\n");
             break;
        }
       
        // On demande le nombre
        printf("Quel est le nombre ? ");
        scanf("%ld", &nombreEntre);

        // On compare le nombre entré avec le nombre mystère

        if (nombreMystere > nombreEntre && compteur != 0)
        {
             printf("C'est plus !\n\n");
             printf("Vous avez %ld coups\n\n", compteur);
        }
        else if (nombreMystere < nombreEntre && compteur != 0)
        {
             printf("C'est moins !\n\n");
             printf("Il vous reste %ld coups\n\n", compteur);
        }
        else
        {
             printf ("\n\nBravo, vous avez trouve le nombre mystere et il vous reste %ld coups!!!\n\nRefaire une partie? (1 : oui, 0 : non)", compteur);
             scanf("%ld", &continuerPartie);
             printf("\n\n");
        }
    } while (nombreEntre != nombreMystere);
   
 }
 else if (choixMode == 3)
 {
      long compteur = 0, chiffre;
     
      long choixMenu;
 
      printf("=== Niveau ===\n\n");
      printf("1. entre 1 et 100\n");
      printf("2. entre 1 et 1000\n");
      printf("3. entre 1 et 10000\n");
      printf("4. entre 1 et 100000\n");
      printf("\nVotre choix ? ");
      scanf("%ld", &choixMenu);
 
      printf("\n");
     
     
      if (choixJoueur == 2)
      {
           switch (choixMenu)
           {
           case 1:
           {
                long nombreMAX = 100, nombreMIN = 1;
                // Génération du nombre mystère

                printf("Joueur 1, entrez un nombre entre 1 et 100: ");
                scanf("%ld", &nombreMystere);
       
                if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
                {
                      printf("\n\n");
                      printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
                      system("PAUSE");
                      return 0;
                }
                break;
           }
           case 2:
           {
                long nombreMAX = 1000, nombreMIN = 1;
                // Génération du nombre mystère
       
                printf("Joueur 1, entrez un nombre entre 1 et 1000: ");
                scanf("%ld", &nombreMystere);
       
                if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
                {
                      printf("\n\n");
                      printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
                      system("PAUSE");
                      return 0;
                }
                break;
           }
           case 3:
           {
                long nombreMAX = 10000, nombreMIN = 1;
                // Génération du nombre mystère
       
                printf("Joueur 1, entrez un nombre entre 1 et 10000: ");
                scanf("%ld", &nombreMystere);
       
                if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
                {
                      printf("\n\n");
                      printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
                      system("PAUSE");
                      return 0;
                }
                break;
           }
           case 4:
           {
                long nombreMAX = 100000, nombreMIN = 1;
                // Génération du nombre mystère
       
                printf("Joueur 1, entrez un nombre entre 1 et 100000: ");
                scanf("%ld", &nombreMystere);
       
                if (nombreMystere < nombreMIN || nombreMystere > nombreMAX)
                {
                      printf("\n\n");
                      printf("T'as pas honte espece de tricheur?! Puisque c'est comme ca personne ne joue!\n\n");
                      system("PAUSE");
                      return 0;
                }
                break;
           }
           default:
           {
                printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
                system("PAUSE");
                return 0;
           }
           }
           
           for (chiffre = 0; chiffre <= 35; chiffre++)
           printf("\n\n");
      }
      else if (choixJoueur == 1)
      {
     
      switch (choixMenu)
      {
      case 1:
      {
           long nombreMAX = 100, nombreMIN = 1;
           // Génération du nombre aléatoire

           srand(time(NULL));
           nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
           break;
       }
       case 2:
       {
            long nombreMAX = 1000, nombreMIN = 1;
            // Génération du nombre aléatoire

            srand(time(NULL));
            nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
            break;
       }
       case 3:
       {
            long nombreMAX = 10000, nombreMIN = 1;
            // Génération du nombre aléatoire

            srand(time(NULL));
            nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
            break;
       }
       case 4:
       {
            long nombreMAX = 100000, nombreMIN = 1;
            // Génération du nombre aléatoire

            srand(time(NULL));
            nombreMystere = (rand() % (nombreMAX - nombreMIN + 1)) + nombreMIN;
            break;
       }
       default:
       {
               printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
               system("PAUSE");
               return 0;
       }
       }
       }
       else
       {
               printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
               system("PAUSE");
               return 0;
       }
       
       printf("En combien de coups pensez-vous gagner? ");
       scanf("%ld", &compteur);
       
       printf("\n\n");
       
       do
       {
               // On décrémente le compteur de coups
               compteur--;

               // On demande le nombre
                printf("Quel est le nombre ? ");
                scanf("%ld", &nombreEntre);

                // On compare le nombre entré avec le nombre mystère

                if (nombreMystere > nombreEntre && compteur != 0)
                {
                      printf("C'est plus !\n\n");
                      printf("Vous avez %ld coups\n\n", compteur);
                }
                else if (nombreMystere < nombreEntre && compteur != 0)
                {
                      printf("C'est moins !\n\n");
                      printf("Il vous reste %ld coups\n\n", compteur);
                }
                else if (compteur == 0 && nombreEntre != nombreMystere)
                {
                       printf ("\n\nDesole mais vous avez perdu, vous n'avez plus de coup! Le nombre mystere etait: %ld\n\nRefaire une partie? (1 : oui, 0 : non) ", nombreMystere);
                       scanf("%ld", &continuerPartie);
                       printf("\n\n");
                       break;
                }
                else if (nombreEntre == nombreMystere && compteur != 0)
                {
                       printf ("\n\nDesole mais il fallait utiliser tous vos coups\n\nRefaire une partie? (1 : oui, 0 : non) ", compteur);
                       scanf("%ld", &continuerPartie);
                       printf("\n\n");
                       break;
                }
                else
                {
                      printf ("\n\nBravo, vous avez trouve le nombre mystere et il vous reste %ld coups!!!\n\nRefaire une partie? (1 : oui, 0 : non) ", compteur);
                      scanf("%ld", &continuerPartie);
                      printf("\n\n");
                }
       } while (nombreEntre != nombreMystere);
 }
 else
 {
      printf("Vous n'avez pas rentre un nombre correcte. Vous ne jouerez donc pas !\n\n");
      system("PAUSE");
      return 0;
 }
}
}
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 19:24:32

Citation : Snakif

Je pense que vous voulez aller trop vite. Imaginez un nouveau, il va pas pouvoir y participer. Faites des défis en fonctions des chapitres vus (donc sur le sdz)

Je suis pas d'accord avec toi, si le nouveau en question va dans les premières pages du sujet, il trouvera des défis qui sont réalisables en ayant juste lus les pages de cours du site du zéro ;) . A chacun de trouver sa vitesse, et si un débutant n'a pas compris tel ou tel chose, il est apte à demander des explications, on se fera un plaisir de lui expliquer :) . (Mais d'un autre coté du n'a pas tord puisque étant qu'a la troisieme pages du sujet et les défis se compliquent radicalement, je n'imagine pas à la page 7. (Faut rester dans le correct.)
P.s: J'ai remplacer la page ou il y avait mon code pour counter strike, par un fichier texte (pour que ceux qui veulent l'executer ne se méfie pas d'un virus.)

Page du code en caractère de fichier text, a compiler sous C !
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 23:39:59

Bonjours, voici mon code de pile ou face, mais quand il demande si je veux rejouer, je dit non et il commence a bugger et afficher plein de trucs bizzards.

Voici le code, si vous pouvez m'aider ça serait apprécié ;)
#include <stdlib.h>
#include <iostream>
#include <stdio.h>

using namespace std;
int nombre_a = 0,choix = 0,points = 0,tours = 0;
bool continuer = 1;


int hasard()
{
return (int) (1 + ((float) rand() / RAND_MAX * (2 - 1 + 1)));
}


int main()
{
   int srand();
    cout <<"Bienvenue au super jeux de pile ou face!!!"<<endl;
    for (continuer;continuer = 1;tours ++ )
    {
      cout <<"Vos points:" <<points <<endl;
      cout <<"Pile ou face?" <<endl;
      cout <<"#1.Pile" <<endl <<"#2.Face" <<endl;
      cin >>choix;
      nombre_a = hasard();
       if (choix == nombre_a)
        {
          cout <<"Vous avez gagner!!!" <<endl;
          points ++;
        }
       else if (choix != nombre_a)
        {
          cout <<"Vous avez perdu!!!" <<endl;
          points --;
        }
      cout <<"Voulez vous continuer à jouer???" <<endl <<"#1.Oui" <<endl;
      cout <<"#2.Non" <<endl;
      cin >> continuer;
      if ((continuer != 1) && (continuer != 2))
       {
         cout <<"Veuillez choisir entre 1 ou 2!!!!" <<endl;
       }
    }
     
    return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 23:44:57

je ne fais pas de c++ mais je vois çà :
for (continuer;continuer = 1;tours ++ )

au lieu de çà je pense :
for (continuer;continuer == 1;tours ++ )



EDIT : euh... vais aller revoir le cours moi ... :-°:p

re édit : ouai ben c'est çà hein...
En premier t'initialises, en deuxieme c'est la condition et la troisieme l'incrémentation...
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2006 à 23:50:09

Merci beaucoup, maintenant mon code marche "avec quelques modifications". :p

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

using namespace std;
int nombre_a = 0,choix = 0,points = 0,tours = 0;
bool continuer = 1;


int hasard()
{
return (int) (1 + ((float) rand() / RAND_MAX * (2 - 1 + 1)));
}


int main()
{
   int srand();
    cout <<"Bienvenue au super jeux de pile ou face!!!"<<endl;
    for (continuer;continuer == 1;tours ++ )
    {
      cout <<"Vos points:" <<points <<endl <<"Nombre de tours joués:" <<tours <<endl;
      cout <<"Pile ou face?" <<endl;
      cout <<"#1.Pile" <<endl <<"#2.Face" <<endl;
      cin >>choix;
      nombre_a = hasard();
       if (choix == nombre_a)
        {
          cout <<"Vous avez gagner!!!" <<endl;
          points ++;
        }
       else if (choix != nombre_a)
        {
          cout <<"Vous avez perdu!!!" <<endl;
          points --;
        }
       else cout <<"Veuillez choisir entre 1 ou 2!!!!" <<endl;
       
      cout <<"Voulez vous continuer à jouer???" <<endl <<"#0.Non" <<endl;
      cout <<"#1.Oui" <<endl;
      cin >> continuer;
      if ((continuer != 0) && (continuer != 1))
       {
         cout <<"Veuillez choisir entre 0 ou 1!!!!" <<endl;
       }
    }
     
    return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 13:35:30

Coucou, moi aussi j'ai un tit jeu a vous proposer :D
Il s'agit en fait du jeu du morpion, en C biensur, avec une grille au format texte, il n'y a besoin de rien d'autre que des cours du site ^^ voila, a vos plumes, et je laisse le code pour qui voudra le regarder (meme si c'est pas du code d'or, mais j'suis q'un zéro, apres tout :p mais attention, on triche pas hein ;) )
Secret (cliquez pour afficher)


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

int main(int argc, char *argv[])
{
    //declaration des variables
    int A1 = 0, A2 = 0, A3 = 0, B1 = 0, B2 = 0, B3 = 0, C1 = 0, C2 = 0, C3 = 0;
    char ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, ch9, coordonnees;
    long joueur = 1, gagner = 0, OK = 0, variable_termine = 0, boucleok = 0, rejouer = 0;
    char Chaine[60] = {'C','e','t','t','e',' ','c','a','s','e',' ','e','s','t',' ','d','e','j','a',' ','m','a','r','q','u','e','e',',',' ','v','e','u','i','l','l','e','z',' ','e','n',' ','e','n','t','r','e','r',' ','u','n','e',' ','a','u','t','r','e','\0'};

  printf("Bienvenue dans ce jeu de morpion deux joueurs\n\n");
  //boucle du jeu, on en ressort que si l'user veut quitter le jeu
  do
  {
           boucleok = 0;
//on change les variables qui montre O ou X a l'écran
         switch(A1)
           {
                      case 1:
                           ch1 ='X';
                           break;
                      case 2:
                           ch1 ='O';
                           break;
                      case 0:
                           ch1 = '-';
                           break;
           }
            switch(A2)
           {
                      case 1:
                           ch2 ='X';
                           break;
                      case 2:
                           ch2 ='O';
                           break;
                      case 0:
                           ch2 = '-';
                           break;
           }
            switch(A3)
           {
                      case 1:
                           ch3 ='X';
                           break;
                      case 2:
                           ch3 ='O';
                           break;
                      case 0:
                           ch3 = '-';
                           break;
           }
            switch(B1)
           {
                      case 1:
                           ch4 ='X';
                           break;
                      case 2:
                           ch4 ='O';
                           break;
                      case 0:
                           ch4 = '-';
                           break;
           }
            switch(B2)
           {
                      case 1:
                           ch5 ='X';
                           break;
                      case 2:
                           ch5 ='O';
                           break;
                      case 0:
                           ch5 = '-';
                           break;
           }
            switch(B3)
           {
                      case 1:
                           ch6 ='X';
                           break;
                       case 2:
                           ch6 ='O';
                           break;
                      case 0:
                           ch6 = '-';
                           break;
           }
            switch(C1)
           {
                      case 1:
                           ch7 ='X';
                           break;
                      case 2:
                           ch7 ='O';
                           break;
                      case 0:
                           ch7 = '-';
                           break;
           }
            switch(C2)
           {
                      case 1:
                           ch8 ='X';
                           break;
                      case 2:
                           ch8 ='O';
                           break;
                      case 0:
                           ch8 = '-';
                           break;
           }
            switch(C3)
           {
                      case 1:
                           ch9 ='X';
                           break;
                      case 2:
                           ch9 ='O';
                           break;
                      case 0:
                           ch9 = '-';
                           break;
           }
           //grille du morpion qui s'affiche a chaque tour avec les modifications
  printf("   1   2   3\n");
  printf(" |---|---|---|\n");
  printf("1| %c | %c | %c |\n", ch1, ch2, ch3);
  printf(" |---|---|---|\n");
  printf("2| %c | %c | %c |\n", ch4, ch5, ch6);
  printf(" |---|---|---|\n");
  printf("3| %c | %c | %c |\n", ch7, ch8, ch9);
  printf(" |---|---|---|\n\n");
  //on detecte si un des deux joueurs gagne
             if ((A1 == 1 && A2 == 1 && A3 == 1) || (B1 == 1 && B2 == 1 && B3 == 1)
              || (C1 == 1 && C2 == 1 && C3 == 1) || (A1 == 1 && B1 == 1 && C1 == 1)
              || (A2 == 1 && B2 == 1 && C2 == 1) || (A3 == 1 && B3 == 1 && C3 == 1)
              || (A1 == 1 && B2 == 1 && C3 == 1) || (A3 == 1 && B2 == 1 && C1 == 1))
             {
                     printf("BRAVO !! Le joueur 1 a gagne\n\n");
                     variable_termine = 1;
             }
             else if ((A1 == 2 && A2 == 2 && A3 == 2) || (B1 == 2 && B2 == 2 && B3 == 2)
              || (C1 == 2 && C2 == 2 && C3 == 2) || (A1 == 2 && B1 == 2 && C1 == 2)
              || (A2 == 2 && B2 == 2 && C2 == 2) || (A3 == 2 && B3 == 2 && C3 == 2)
              || (A1 == 2 && B2 == 2 && C3 == 2) || (A3 == 2 && B2 == 2 && C1 == 2))
             {
                     printf("BRAVO !! Le joueur 2 a gagne\n\n");
                     variable_termine = 1;
             }
  //si toutes les cases sont remplies et qu'aucune des conditions précédentes ne sont remplies, c'est donc un match nul
             else if(A1 !=0 && A2 !=0 && A3 !=0 && B1 !=0 && B2 !=0 && B3 !=0 && C1 !=0 && C2 !=0 && C3 !=0)
             {
                  printf("La partie est finie, personne n'a gagne\n\n");
                  variable_termine = 1;
             }     
             
             //si le jeu est fini, on demande au joueur si il veut rejouer
              if(variable_termine == 1)
              {   
                  do
                  {
                  printf("voulez vous rejouer?(1=oui, 2=non)\n");
                  scanf("%ld", &rejouer);
                  if(rejouer == 1)
                  {
                             //on remet les variables a 0, la grille redevient vide
                             A1 = 0;
                             A2 = 0;
                             A3 = 0;
                             B1 = 0;
                             B2 = 0;
                             B3 = 0;
                             C1 = 0;
                             C2 = 0;
                             C3 = 0;
                               printf("   1   2   3\n");
                               printf(" |---|---|---|\n");
                               printf("1|   |   |   |\n");
                               printf(" |---|---|---|\n");
                               printf("2|   |   |   |\n");
                               printf(" |---|---|---|\n");
                               printf("3|   |   |   |\n");
                               printf(" |---|---|---|\n\n");
                             joueur = 1;
                             boucleok = 1;
                  }
                  else if(rejouer == 2)
                  {
                  //on sors du programme
                  system("PAUSE");     
                  return 0;
                  }
                  else
                  {
                      //on est reparti pour un tour...
                  printf("Vous n'avez pas entre quelque chose de correct\n");
                  char boucleok = 0;
                  }
                  }while(boucleok != 1);
           } 
           variable_termine = 0;
           //les joueurs entrent les coordonnées de case
  printf("C'est au joueur");
                 
  if(joueur == 1)
  {
  printf(" 1 de jouer, veuillez entrer une coordonee de case :\n");
  do
  {
  scanf("%ld", &coordonnees);
  //on detecte quelles coordonées a entré le joueur, et on les traduit dans les variables correspondantes
switch(coordonnees)
{
                      case 11:
                           if(A1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A1 = 1;
                   OK = 1;
                   joueur ++;
                           }
                      break;
                      case 12:
                            if(A2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A2 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 13:
                            if(A3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A3 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 21:
                            if(B1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   B1 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 22:
                            if(B2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   B2 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 23:
                            if(B3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                               
                   B3 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 31:
                            if(C1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C1 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 32:
                            if(C2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C2 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                      case 33:
                            if(C3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C3 = 1;
                   OK = 1;
                   joueur ++;
                   }
                      break;
                   default :
                   printf("veuillez entrer une coordonnee correcte de case\n");
                   scanf("%ld", &coordonnees);
                   
                   
                 
}

}while(OK != 1);
}

  else
  {
  printf(" 2 de jouer, veuillez entrer une coordonee de case :\n");
  do
  {
  scanf("%ld", &coordonnees);
switch(coordonnees)
{
                      case 11:
                            if(A1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A1 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 12:
                            if(A2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A2 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 13:
                            if(A3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   A3 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 21:
                            if(B1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   B1 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 22:
                            if(B2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   B2 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 23:
                            if(B3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   B3 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 31:
                            if(C1 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C1 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 32:
                            if(C2 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C2 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                      case 33:
                            if(C3 != 0)
                           {
                                 printf("%s\n", Chaine);
                                 OK = 0;
                           }
                           else
                           {
                   C3 = 2;
                   OK = 1;
                   joueur --;
                   }
                      break;
                   default :
                   printf("veuillez entrer une coordonnee correcte de case\n");
                 
}
}while(OK != 1);
}
  }while(gagner = 1);
}

  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 14:16:38

WWWWWWWOOOOOOOOOWWWWWWW pour le morpion moi, je me retire, je sais vraiment pas l'algo pour vérifier di on a gagner ou pas alors....mais si quelqu'un peux m'expliquer... ;) ça serait gentil.


Mais j'ai une idée pour les plus débutants...
Le projet consisterais a faire un programme qui demande un mot et l'enregistre dans une variable mais le problème c'est que si l'utilisateur rentre plus d'un mot, le prog n'enregistre que le premier mot! Ensuite il lui écrit le mot et lui redemande un autre mot et l'ajoute a la variable et affichje le premier mot suivi du deuxième et ainsi de suite...! J'ai tiré sa d'un forum de lyberty basic :-°


Bonne prog!!! :D
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 14:19:45

pas besoin d'un algorythme, des conditions toutes bêtes suffisent.. enfin j'ai fait comme sa, moi, et sa marche bien :euh:
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 14:29:13

Heu...d'accord, je vais regarder ton code et essayer de comprendre... o_O
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 14:31:53

j'ai essayé d'optimiser mon code, mais je sais pas comment eviter les multiples répétitions qu'il y a :euh: ... mais si tu comprend pas un bout de mon code, voici mon msn : giovanni_falletta@hotmail.com (ou au pire si tu as pas msn, tu me mails ;) )
@+
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 16:03:54

Daccord je t'ajoute mais juste un truc, comment les gens font pour écrire x ou o ????
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 18:17:58

joe005 -> pour ton projet de mots, il faut utiliser les tableaux de char ou les pointeurs, or m@teo n'en a pas parlé
  • Partager sur Facebook
  • Partager sur Twitter
2 janvier 2006 à 18:21:39

moi je vait attendre qu'il y est un autre défi plus simple...
  • Partager sur Facebook
  • Partager sur Twitter
3 janvier 2006 à 19:07:24

Ouai t mieux comme sa mais c'est que moi j'ai un livre à la maison et j'aurais le niveau de le faire mais bon...attendons la suite du cour avec impatience
  • Partager sur Facebook
  • Partager sur Twitter
3 janvier 2006 à 19:39:28

Tout d'abord, Bonjour !

Alors voilà, a propos du jeu du morpion,(que je souhaitais poster mais je me suis fait dépassé :lol: )
eh bien je l'ai réalisé moi-même, mais j'aimerais vous donner quelques conseils qui ne seront peut-être pas a la porté de tout le monde... :p même si je suis aussi un zéro... :-° ...

J'ai utilisé une matrice pour gérer les cases (pour information, une matrice est un tableau a plusieurs dimensions), j'ai permi a l'ordinateur de voir si il a deux de ses pions alignés et une case vide, afin qu'il puisse jouer a cet endroit.

Tu aurais quand meme du séparer ton code en plusieurs parties en faisant des fonctions comme computer_play ou encore player_play...

J'espère que ces conseils seront utile à quelques uns d'entre vous...

Sur ce a+ ! :)
  • Partager sur Facebook
  • Partager sur Twitter