begin process at 2012 02 08 10:22:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > TUTORIAL/JEU "GUESS THE NUMBER"

TUTORIAL/JEU "GUESS THE NUMBER"


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Niveau :Débutant Date de création :05/06/2004 Date de mise à jour :17/06/2004 18:31:11 Vu / téléchargé :6 537 / 148

Auteur : neo_00110010101

Ecrire un message privé
Site perso
Commentaire sur cette source (28)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette source est un petit tutorial illustrant le (plus ?) célèbre jeu en programmation à savoir : "deviner le nombre généré aléatoirement par l'ordinateur"

- nombre d'essais limité (paramètrable)
- jeu personalisé (entrée du pseudo)
- affichage du nombre de tentatives à la fin (si gagné)
- affichage de la réponse à la fin (si perdu)
- code triche pour obtenir la réponse
- jeu clair (espacé)
- source très commentée
- texte corrigé et revu au niveau des caractères spéciaux
- fichier zip (jeu.zip) : tutojeu.cpp + source.doc (zip en 8Ko)
- (spécial) transformation/mutation en source exclusivement C++

Source

  • // Cette source est un petit tutorial illustrant le (plus ?) célèbre jeu en programmation à savoir : "deviner le nombre généré aléatoirement par l'ordinateur"
  • // par neo_00110010101@hotmail.com
  • // Débuté le 05/06/04
  • // Terminé le 05/06/04
  • // MAJ du 17/06/04
  • // Il va falloir trouver un nombre généré aléatoirement par l'ordinateur (de 1 à 100)
  • #include <iostream>
  • #include <ctime>
  • #include <string>
  • using namespace std;
  • int main()
  • {
  • // EFFACEMENT DU TEXTE
  • system("cls"); // ainsi, tout s'effacera à chaque nouveau jeu
  • // INITIALISATION DES VARIABLES
  • srand(time(NULL)); // initialisation du générateur de nombre
  • int guess = 0; // initialisation de la variable "guess"
  • int reponse = (rand() % 100) + 1; // génération du nombre aléatoire de 1 à 100 ("reponse")
  • int essais = 0; // initialisation de la variable "essais"
  • int choix = 0; // initialisation de la variable "choix"
  • string pseudo; // initialisation de la variable "pseudo"
  • // AFFICHAGE TEXTE
  • cout << "Tutorial jeu par neo_00110010101 -Guess the number-\n";
  • // INPUT DU PSEUDO DU JOUEUR
  • cout << "Entre ton pseudo :"; // demande du pseudo
  • cin >> pseudo; // enregistrement du pseudo dans "pseudo"
  • cout << "Bienvenue " << pseudo << ", es-tu pr\210t ?\n"; // utilisation du pseudo dans une phrase
  • // DEMANDE NOMBRE ESSAIS
  • cout << "Combien d'essais possibles ?\n"; // demande combien d'essais le joueur pourra bénéficier
  • cin >> essais; // enregistre la réponse dans la variable "essais"
  • // LE JEU ET SON DEROULEMENT
  • for(guess = 1; guess <= essais; guess++) // boucle pour que le jeu ne se termine
  • // pas avant que la partie soit terminée
  • {
  • cout << "\nEssai num\202ro " << guess; // affichage du numéro de l'essai présent
  • cout << "\nTon choix : " << flush; // demande du nombre à trouver
  • cin >> choix; // enregistrement de la proposition dans "choix"
  • if(choix > reponse) cout << "Plus petit, essaie encore !\n";// si "choix" est plus grand que "reponse"
  • if(choix < reponse) cout << "Plus grand, essaie encore !\n";// si "choix" est plus petit que "reponse"
  • // partie triche
  • if(choix == 26154859) // si on tape "26154859" le programme affiche la réponse !
  • {
  • cout << "Sale petit tricheur ^^\n";
  • cout << reponse;
  • }
  • if(choix == reponse) // si "choix" est égal à "reponse"
  • {
  • cout << "\nBravo, " << pseudo << " tu as r\202ussi en " << guess << " essais !\n";
  • // la phrase de la victoire ^_^
  • // avec affichage du nombre de tentatives
  • break; // on arrête le jeu
  • }
  • }
  • // JEU TERMINE
  • string recommencer;
  • if(guess > essais) // si "guess" est strictement supérieur à "essais"
  • // alors cela veut dire que le jeu est terminé et
  • // que le joueur a perdu
  • cout << "\nDommage ! Le nombre \202tait "<< reponse << endl; // Donc, la réponse est affichée
  • for(;;) // début de la boucle
  • {
  • cout << "\nVeux-tu recommencer ?";
  • cin >> recommencer; // enregistrement de la réponse dans "recommencer"
  • if(recommencer== "non") // si c'est "non" ...
  • {
  • cout << "Au revoir " << pseudo << endl;
  • cout << "A bient\223t...\n";
  • return 0; // ... on arrête là
  • }
  • if(recommencer== "oui") // si c'est "oui" ...
  • {
  • cout << "C'est reparti " << pseudo << endl;
  • return main(); // ... on recommence un nouveau jeu
  • }
  • if(recommencer!= "oui" || recommencer!= "non") // si on entre autre chose que "oui" ou "non" ...
  • {
  • cout << "Tape oui ou non\n"; // ... on affiche ce qu'il faut entrer (une sorte d'aide)
  • continue; // et donc on refait la demande
  • // (on revient au début de la boucle)
  • }
  • }
  • }
// Cette source est un petit tutorial illustrant le (plus ?) célèbre jeu en programmation à savoir : "deviner le nombre généré aléatoirement par l'ordinateur"

// par neo_00110010101@hotmail.com

// Débuté le 05/06/04
// Terminé le 05/06/04
// MAJ du 17/06/04

// Il va falloir trouver un nombre généré aléatoirement par l'ordinateur (de 1 à 100)

#include <iostream>
#include <ctime>
#include <string>
using namespace std;

int main()
{ 
    // EFFACEMENT DU TEXTE
	
	system("cls");														// ainsi, tout s'effacera à chaque nouveau jeu
	
	// INITIALISATION DES VARIABLES
	
	srand(time(NULL));													// initialisation du générateur de nombre
	int guess = 0;														// initialisation de la variable "guess"
    int reponse = (rand() % 100) + 1;									// génération du nombre aléatoire de 1 à 100 ("reponse")
    int essais = 0;														// initialisation de la variable "essais"
    int choix = 0;														// initialisation de la variable "choix"
	string pseudo;														// initialisation de la variable "pseudo"

    // AFFICHAGE TEXTE
	
	cout << "Tutorial jeu par neo_00110010101 -Guess the number-\n";

	// INPUT DU PSEUDO DU JOUEUR
	
	cout << "Entre ton pseudo :";										// demande du pseudo
	cin >> pseudo;														// enregistrement du pseudo dans "pseudo"
	cout << "Bienvenue " << pseudo << ", es-tu pr\210t ?\n";			// utilisation du pseudo dans une phrase

	// DEMANDE NOMBRE ESSAIS
	
	cout << "Combien d'essais possibles ?\n";							// demande combien d'essais le joueur pourra bénéficier
	cin >> essais;														// enregistre la réponse dans la variable "essais"

    // LE JEU ET SON DEROULEMENT
	
	for(guess = 1; guess <= essais; guess++)							// boucle pour que le jeu ne se termine 
																		// pas avant que la partie soit terminée
	{

			cout << "\nEssai num\202ro " << guess;						// affichage du numéro de l'essai présent
			cout << "\nTon choix : " << flush;							// demande du nombre à trouver
			cin >> choix;												// enregistrement de la proposition dans "choix"

			if(choix > reponse) cout << "Plus petit, essaie encore !\n";// si "choix" est plus grand que "reponse"
			if(choix < reponse) cout << "Plus grand, essaie encore !\n";// si "choix" est plus petit que "reponse"
			// partie triche
			if(choix == 26154859)										// si on tape "26154859" le programme affiche la réponse !
			{
				cout << "Sale petit tricheur ^^\n";
				cout << reponse;
			}
			if(choix == reponse)										// si "choix" est égal à "reponse"
			{
				cout << "\nBravo, " << pseudo << " tu as r\202ussi en " << guess << " essais !\n";
																		// la phrase de la victoire ^_^
																		// avec affichage du nombre de tentatives
				break;													// on arrête le jeu														
			}
	}
    
	// JEU TERMINE

	string recommencer;												
																		
	if(guess > essais)													// si "guess" est strictement supérieur à "essais"		
																		// alors cela veut dire que le jeu est terminé et
																		// que le joueur a perdu
																	
	cout << "\nDommage ! Le nombre \202tait "<< reponse << endl;		// Donc, la réponse est affichée
	for(;;)																// début de la boucle
	{
			cout << "\nVeux-tu recommencer ?";									
			cin >> recommencer;											// enregistrement de la réponse dans "recommencer"
			if(recommencer== "non")										// si c'est "non" ...
			{
				cout << "Au revoir " << pseudo << endl;
				cout << "A bient\223t...\n";
				return 0;												// ... on arrête là
			}
			if(recommencer== "oui")										// si c'est "oui" ...
			{
				cout << "C'est reparti " << pseudo << endl;
				return main();											// ... on recommence un nouveau jeu
			}
			if(recommencer!= "oui" || recommencer!= "non")				// si on entre autre chose que "oui" ou "non" ...
			{
				cout << "Tape oui ou non\n";							// ... on affiche ce qu'il faut entrer (une sorte d'aide)
				continue;												// et donc on refait la demande
																		// (on revient au début de la boucle)
			}
	}
}

 Conclusion

Programme fonctionnant parfaitement sans erreurs ni warnings sur VC++ 6.0

Si questions : neo_00110010101@hotmail.com

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   jeu

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture IA ALGORITHME GÉNÉTIQUE SIMPLE [VISUAL C++ 6.0]
Source avec Zip Source avec une capture JEU - DUALRACE (PORTAGE TI-82) [VC++ 6.0]
Source avec Zip Source avec une capture JEU - MINDBLASTER (CLONE MASTERMIND) [VC++ 6.0]
Source avec Zip Source avec une capture IA ALGORITHME PATHFINDING A* [VISUAL C++ 6.0]
Source avec Zip Source avec une capture TUTORIAL INPUT, AFFICHAGE TEXTE, VARIABLES, CONDITIONS

 Sources de la même categorie

Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79
Source avec Zip AUTRE GRILLE DE SUDOKU par Eneur
Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika

Commentaires et avis

Commentaire de neo_00110010101 le 05/06/2004 21:36:12

Bien, je trouve ma source (au-dessus) horrible alors si vous voulez mieux comprendre, copiez-collez-la dans VC++ 6.0 ou autre ...

Sinon je suis bien-sûr ouvert à toutes remarques ou idées ...

Merci ^^

Commentaire de Pamaury le 05/06/2004 22:29:43

bon déjà on ne mélange JAMAIS au grand jamais cout et printf : tu prog en C OU en C++ mais pas les deux !(idem pour cin et scanf) .
Ensuite appèle
srand
avant le rand .Plutôt que de faire en return main pour recommencer fait un while du genre:
int main(int argc,char **argv)
{
    bool end=false;
    while(!end)
    {
        play();
        en=ask_user_end();
    }
    return 0;
}

Voila mais bon essaie de poster quelque chose de plus util au niveau programmation parce que la on apprend rien .
        

Commentaire de neo_00110010101 le 05/06/2004 22:56:39

Merci pour ta réponse !

c'est vraiment "nul" de mélanger entre le C et le C++ ? pourtant le C++ est basé sur le langage C.

"Ensuite appèle
srand
avant le rand .Plutôt que de faire en return main pour recommencer fait un while du genre:
int main(int argc,char **argv)
{
    bool end=false;
    while(!end)
    {
        play();
        en=ask_user_end();
    }
    return 0;
}"

&gt;&gt; explique car je ne fais pas des tutoriaux auquels je ne pige rien ...

"Voila mais bon essaie de poster quelque chose de plus util au niveau programmation parce que la on apprend rien ."

&gt;&gt; tu es peut-être doué mais pas tout le monde alors ça sert pour d'autres ...

Commentaire de Pamaury le 06/06/2004 09:05:04

Je ne dit pas que je suis doué . Bon je vais m'expliquer(peut-être que c'était pas clair)

Appèle le srand avant le rand ce sera plus utile .

Ensuite :
Pour faire recommncer le jeu tu fait return main ce qui fait que déjà c'est pas recommandé(c'est pas très grave) mais pour mieux structurer le code fait une boucle while dans laquelle tu appèle ton jeu puis tu demmande à l'utilisateur s'il veut rejouer:

viud play()
{
    //jeu
    return;
}

void ask_user_end()
{
    //demande utilisateur
}

int main(int argc,char **argv)
{
    bool end=false;
    while(!end)
    {
        play();
        end=ask_user_end();
    }
    return 0;
}

Ce n'est pas dur il suffit de mettre ton jeu proprement dit dans une routine(play()), puis tu crée une fonction où tu demande si l'utilisateur veut commncer(ask_user_end()) .

Ce ne sont que des conseils pour améliorer ton code .

Enfin, mélanger le C/C++ n'est pas 'nul' mais dans certains cas une mauvaise habitude aux résultat incertains : peut-être fesais-tu du C avant . En tout cas tu utilise cin et cout OU print et scanf car sinon on ne sais pas ce qui peut arriver et puis c'est plus standard . Dans d'autre cas c'est sans importance .

Commentaire de Thaeron le 06/06/2004 12:56:25

Lu, effectivement évite de mélanger C et C++ parce que donne un peu n'importe quoi comme source.
srand (time (NULL)); sert à initialiser le générateur de nombre pseudo aléatoire, donc si tu l'appelle apres rand ça sert pas a grand chose, il faut l'appeler qu'une seule fois et tout au debut du source.
Mais t'inquietes pas, on est tous passé par le stade "je code un peu et je suis désireux de le montrer au monde entier".
Mais effectivement l'interet est assez limité ici, mais c'est pas grave on a tous fais ça déjà.
Bon code à toi.

Commentaire de neo_00110010101 le 06/06/2004 15:18:28

Merci pour vos aides (Thaeron, ne dit pas n'importe quoi s'il te plait...^^)

Sachez que mon but est d'aider les autres, d'ailleurs c'est aussi le but de ce site !

Bon alors voilà une MAJ :

- mise en place de void play() [!!!!!enlevé!!!!!]
- mise en place de void ask_user_end() [!!!!!enlevé!!!!!]
- source composée essentiellement de cout/cin et quelques puts
- srand(time(NULL)); placé devant (rand() % 100) + 1;
- plus toutes les modifications nécessaires (comme "ê" \210)

Par contre il faut que tu m'explique très clairement ça Pamaury :

int main(int argc,char **argv)
{
bool end=false;
while(!end)
{
play();
end=ask_user_end();
}
return 0;
}

&gt;&gt; int main(int argc,char **argv) doit être placé au tout début à la place de int main() ??? visiblement non mais bon ... enfin bon j'ai essayé pas mal de façons différentes alors essaie de me montre tout à la fois !
(donc un email serait le plus adapté !) n'hésite pas à reprende toute ma source =)

neo_00110010101@hotmail.com

Je peux t'envoyer la source où void play() et void ask_user_end() sont placés (je les ai enlevé car sans l'élément du-dessus que je ne comprend pas completement, il y a un problème sans grande importance mais quand même)

@+ tous !

Commentaire de Thaeron le 06/06/2004 15:54:23

C'était de l'humour neo, désolé je croyais que t'allais comprendre (t'inquietes pas j'ai deja regardé tes autres sources).
Soit pas vexé =)

Commentaire de neo_00110010101 le 06/06/2004 18:53:16

lol ^_^ ton avatar m'a bien fait rire ! et je ne suis pas vexé :]

Maintenant j'attend l'aide de Pamaury parce que c'est lui qui veut que j'améliore encore plus mon code !

Commentaire de Pamaury le 06/06/2004 19:47:45

bon je vais expliquer:
int main(int argc,char **argv)
&gt;&gt;c'est plus standard que int main() mais pas obligatoire : argc c'est le nombre d'arguments passé à l'exe et argv ce sont les arguments .
&gt;&gt;il y en a toujours au moins 1 : le chemin de l'exe

Alors
bool end;
//on initialise une variable qui nous dit si doit finir(true) ou pas(false)

....
....
....

int main(int argc,char **argv)
{
   while(!end)
    //tant que end vaut false cad qu'il faut continuer
    {
        //on fait ce qui suit
        void play();
        //on joue
        ask_user_end();
        //on demande à l'utilisateur s'iul veut continuer : oui(end=true)
        //ou non(end=false)
    }
//finde boucle while
    return 0;
}
//fin du main

Donc en fait on boucle(while) jusqu'à ce que l'utilisateur veuille quitter(cad en mettant end à true)
Dans play() tu met le code du jeu
Dans ask_user_end() tu met le code pour demander à l'utilisateur:
void ask_user_end()
{
    string answer;
    for(;;)
    {
          cout&lt;&lt;"voulez-vous continuer(oui ou non)\n";
          cin&gt;&gt;answer;
          if(answer=="oui")
          {
               end=true;
               break;//quitte la boucle
          }
          if(answer=="non")
          {
              end=false;
              break;//quitte la boucle
          }
          cout&lt;&lt;"réponse incorrecte\n";
     }
}

NOTE : dans le code que j'avais mis il y avais une petite faute : les end est une variable globale .

Voila j'espère avoir été clair(c'est pas sur !!) . Si tu veut vraiment t'améliorer je te conseille les tutoriaux de devellopez.com qui sont très bien fait, il y a aussi glinfrench(rubrique C++):
http://glinfrench.apinc.org/
http://c.developpez.com/
et bien évidemment ce merveilleux site : je te conseille de regarder les sources déjà postée qui sont bien commentées : c'est comme çà que l'on progresse) .

Commentaire de Pamaury le 06/06/2004 19:50:20

Eu je viens de m'apercevoir que j'ai fait une bétise : partout où j'ai mis true, il faut mettre false !!!!!!!!!!!!
Cela donne:(encore mille excuses):

bool end;

...
...
...
int main(int argc,char **argv)
{
   while(!end)
    //tant que end vaut false cad qu'il faut continuer
    {
        //on fait ce qui suit
        void play();
        //on joue
        ask_user_end();
        //on demande à l'utilisateur s'iul veut continuer : oui(end=false)
        //ou non(end=true)
    }
//finde boucle while
    return 0;
}
//fin du main


void ask_user_end()
{
    string answer;
    for(;;)
    {
          cout&lt;&lt;"voulez-vous continuer(oui ou non)\n";
          cin&gt;&gt;answer;
          if(answer=="oui")
          {
               end=false;
               break;//quitte la boucle
          }
          if(answer=="non")
          {
              end=true;
              break;//quitte la boucle
          }
          cout&lt;&lt;"réponse incorrecte\n";
     }
}

Commentaire de neo_00110010101 le 11/06/2004 21:38:34

Voilà une petite mise à jour :

- + de phrases et améliorées
- effacement du jeu à chaque nouvelle partie
- pas d'espacement pour l'entrée du pseudo
- nouveau code ASCII à savoir : "ô" = "\223"
- présence d'un fichier texte dans le zip (source plus compréhensible)
- code de triche plus difficile
- correction éventuelle

JE VOUS INVITE A REGARDER LE FICHIER SOURCE.DOC SI VOUS VOULEZ MIEUX COMPRENDRE LA SOURCE (disponible dans le zip)

Commentaire de Pamaury le 12/06/2004 07:52:01

J'ai un problème avec le .doc : il m'affiche plein de flèches et des fin de paragraphes, c'est illisible si quelqu'un sait pourquoi .
Sinon supprime les puts du jeu(cout)

Commentaire de neo_00110010101 le 12/06/2004 10:34:20

regarde cette image que je viens d'uploader pour savoir comment enlever toutes ces choses :

http://a1.cpimg.com/image/9F/70/34953631-fab6-0200011C-.jpg

Cela permet de voir tous les espacements, les retours de ligne ...

Sinon on m'avait dit de mettre des puts donc je ne sais pas si je vais les enlever ...
en plus, le fait de mettre des puts permet d'avoir un peu de nouveau par rapport aux cout ...

Commentaire de Pamaury le 12/06/2004 11:16:51

Perso je pense que les puts sont à banir si on utilise cout c'est plus respectueux du standard et en plus cela pourrai avoir des effets bizarres . Mais tu fais comme tu veux

Commentaire de djl le 16/06/2004 20:37:25

neo_00110010101 &gt; je t'avais dit de mettre des puts, mais en c !
sinon entirement d'accord avec Pamaury, ne melange jamais c et c++, c++ est un langage à part entiere
et si tu es  amenné à utilisé des fonction de la lib c, utilise les dans le namespace std

#include &lt;cstdlib&gt;
using namespace std;

system("cls");

si tu ve apprendre le c ou le c++, fais le avec un livre, pas avec un compilateur

Commentaire de neo_00110010101 le 16/06/2004 21:16:59

:S ouh là !! le sacré mélange qui casse tout et qui ne me réussi pas ! je sais bien que C++ est autre chose que C ! et merci pour ton bout de code même si je l'ai déjà rencontré et utilisé :)

bon ben en attente d'une autre MAJ alors ... :]

Commentaire de neo_00110010101 le 16/06/2004 21:41:24

bon maintenant dites-moi s'il y a encore des lignes de code en C car je compte bien faire un programme en C++

cibles potentielles :
- system("cls");
- #include &lt;ctime&gt;

Commentaire de djl le 16/06/2004 22:01:59

   cin &gt;&gt; pseudo,10;    ?? c'est koi ca?

remplace char pseudo[10] par string pseudo

Commentaire de neo_00110010101 le 17/06/2004 17:41:11

ok j'ai tenu compte de tes remarques merci :)

autre chose ?

Commentaire de djl le 17/06/2004 17:53:12

non c'est bon, juste

cout &lt;&lt; "\nTon choix : "&lt;&lt;flush;
cin &gt;&gt; choix;

au lieu de

cout &lt;&lt; "\nTon choix : ";
cin &gt;&gt; choix;

quand tu fait un cout sans \n à la fin avant une saisie, flush pour etre sur que ca s'affiche avant

Commentaire de neo_00110010101 le 17/06/2004 18:40:34

ok encore merci !

Commentaire de neo_00110010101 le 24/06/2004 22:19:51

Maintenant si quelqu'un veut que je mette un peu de couleur ... il suffit de demander !

Commentaire de jeep05 le 29/08/2004 21:07:07

quelle différence entre

char texte[25]=" Moi c'est BOBY";
et
string texte = "Moi c'est BOBY";

je débute l'apprentissage du C++, et je n'ai jamais rencontré la 1ere écriture ?

Commentaire de Pamaury le 30/08/2004 10:02:45

déjà, si jedevais écrire quelque chose comme la preemière ligne moi je ferait
char texte[]=" Moi c'est BOBY";

La différence viens du fait que la deuxième ligne c'est une string et non pas un char * . Ca permeyt de faire plus de manipulation plus facilement .

Commentaire de jeep05 le 30/08/2004 10:16:36

ok, donc en C++ vaut mieux utiliser  

string couleur = rose; :D ?

Commentaire de Pamaury le 30/08/2004 14:31:05

çà dépend de l'utilisation mais disont que dans la grande majorité des cas il sera plus sûr et plus pratique d'utiliser des string que des char* même si cela peut-être l'inverse dans certains cas . Donc jue pense que sauf exeption il faut mieux utiliser des string que des char * .

La principale utilisé des char est(à mon avis) de sauvegarder des donnée statiques de très grosse taille(ex: un tableau de phraseou de texte):
char str[]="ksfjgudjk";
ou même
char tab[100][]={"une phrase","une autre","une autre",...};

Commentaire de djl le 30/08/2004 18:36:32

voila, Pamaury a bien résumé

Commentaire de Pamaury le 31/08/2004 09:29:41

merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales