Accueil > > > YAHTZEE (JEU DE DÉS TRÈS COMPLET!) (VISUAL C++)
YAHTZEE (JEU DE DÉS TRÈS COMPLET!) (VISUAL C++)
Information sur la source
Description
Salut! Me revoilà! Je vous propose un de mes plus gros projets: un jeu de Yahtzee, c'est un jeu de dés, mais dans mon programme on joue tout seul. Je vous mets le fichier source principal, mais il faut télécharger le zip pour récupérer tous les headers qui vont dans le projet. Mon projet gère aussi un fichier des meilleurs scores, battez donc le mien! J'ai fait quelques modifications!! !! NE FAITES SURTOUT PAS DE COPIER-COLLER !!
Source
- #include<iostream.h>
- #include<conio.h> //pour la fonction getch()
- #include<stdlib.h> //pour les fonctions srand(unsigned) et rand()
- #include<time.h> //pour la fonction time(long)
- #include<stdio.h> //pour les flux fichiers
- #include"test.h" //les fonctions de test également commentées
- #include"econio.h" //pour la fonction clrscr()
-
- int as,deux,trois,quatre,cinq,six,brelan,carre,full,psuite,gsuite,yahtzee,chance,pyahtzee;
- //déclaration des variables globales représentant les scores
-
- struct joueur
- {
- char nom[30];
- int score;
- };
-
- void init()
- //les variables sont initialisées à -1 (=vide)
- {
- as=-1;
- deux=-1;
- trois=-1;
- quatre=-1;
- cinq=-1;
- six=-1;
- brelan=-1;
- carre=-1;
- full=-1;
- psuite=-1;
- gsuite=-1;
- yahtzee=-1;
- chance=-1;
- pyahtzee=-1;
- }
-
- void aide()
- //du texte uniquement, la règle du jeu
- {
- clrscr();
- cout<<"= = = YAHTZEE = = =\n\n";
- cout<<"Le Yahtzee est un jeu de d\x82s. Ce programme est fait\n";
- cout<<"pour un seul joueur, mais vous pouvez jouer les uns apr\x8As\n";
- cout<<"les autres et comparer vos scores."<<endl;
- getch();
- //attend la frappe d'une touche
- cout<<"\n LE JEU\n\n";
- cout<<"A chaque tour les d\x82s peuvent \x88tre lanc\x82s trois\n";
- cout<<"fois au maximum. Mais le joueur peut, s'il le d\x82sire,\n";
- cout<<"ne les lancer qu'une ou deux fois.\n";
- cout<<"La premi\x8Are fois, le joueur doit obligatoirement\n";
- cout<<"lancer tous les d\x82s.\n";
- cout<<"Si le joueur decide de lancer les d\x82s une deuxi\x8Ame\n";
- cout<<"et troisieme fois, il peut ramasser tous les d\x82s\n";
- cout<<"ou seulement ceux de son choix et les lancer \x85 nouveau.\n";
- cout<<"Apr\x8As la troisi\x8Ame fois les d\x82s ne peuvent plus\n";
- cout<<"\x88tre lanc\x82s et les points obtenus doivent \x88tre marqu\x82s."<<endl;
- getch();
- cout<<"\n RESUME DU JEU\n\n";
- cout<<"Lancez les d\x82s trois fois maximum de fa\x87on \x85\n";
- cout<<"obtenir la meilleure combinaison possible.\n";
- cout<<"Inscrivez votre score dans l'une des 13 cases: 6 dans la\n";
- cout<<"section sup\x82rieure et 7 dans la section inf\x82rieure.\n";
- cout<<"Les cases peuvent \x88tre remplies dans n'importe quel\n";
- cout<<"ordre, mais obligatoirement une \x85 chaque tour."<<endl;
- getch();
- cout<<"\n COMMENT MAQUER LES POINTS\n\n";
- cout<<" La section sup\x82rieure\n";
- cout<<"As \x85 Six : Vous obtenez un ou plusieurs as, vous faites le total\n";
- cout<<"des as, vous les inscrivez dans la case des As, ...etc\n\n";
- cout<<" La section inf\x82rieure\n";
- cout<<"Brelan : Vous obtenez trois d\x82s indiquant le m\x88me\n";
- cout<<"chiffre et deux autres chiffres.\n";
- cout<<"Carr\x82 : Vous obtenez quatre d\x82s indiquant le m\x88me\n";
- cout<<"chiffre et un autre chiffre.\n";
- cout<<"Full : Vous obtenez une combinaison de deux et de trois\n";
- cout<<"d\x82s identiques.\n";
- cout<<"Petite Suite : Vous obtenez une suite de quatre chiffres.\n";
- cout<<"Grande Suite : Vous obtenez une suite de cinq chiffres.\n";
- cout<<"Yahtzee : Vous obtenez cinq chiffres identiques."<<endl;
- getch();
- cout<<"\n CHANCE\n\n";
- cout<<"C'est l'occasion unique pour le joueur de marquer le total\n";
- cout<<"de ses cinq d\x82s par n'importe quelle combinaison. Vous\n";
- cout<<"pouvez utiliser la case 'Chance' lorque vous obtenez une combinaison\n";
- cout<<"d\x82j\x85 inscrite sur votre feuille de score, ou lorsque\n";
- cout<<"vous ne pouvez inscrire votre score dans aucune des autres cases\n";
- cout<<"disponibles."<<endl;
- getch();
- cout<<"\n OPTION ZERO\n\n";
- cout<<"Au cours du jeu, le joueur peut choisir, s'il pense que\n";
- cout<<"c'est \x85 son avantage, d'inscrire un 0 \x85 la fin du tour\n";
- cout<<"plutot que de marquer des points..."<<endl;
- getch();
- cout<<"\n PRIME DE 35 POINTS\n\n";
- cout<<"Si vous totalisez 63 points (ou plus) dans la section\n";
- cout<<"sup\x82rieure, vous obtenez une prime de 35 points."<<endl;
- getch();
- cout<<"\n PRIME YAHTZEE\n\n";
- cout<<"Vous avez droit \x85 une prime Yahtzee qui vaut 100 points lorsque\n";
- cout<<"vous faites d'autres Yahtzee \x85 la seule condition que le premier\n";
- cout<<"Yahtzee ait \x82t\x82 inscrit dans la case appropriee. Si le\n";
- cout<<"joueur a d\x82j\x85 inscrit un 0 dans la case Yahtzee, il ne\n";
- cout<<"poura b\x82neficier d'aucune prime Yahtzee."<<endl;
- getch();
- }
- void menu(de de[]) //la structure "de" se trouve dans le header test
- {
- int choix,pts;
- bool marked; //booléen indiquant si un score a été inscrit ou non
- do{
- marked=true;
- cout<<"Dans quelle case veux-tu inscrire tes points?\n";
- cout<<"1. As\n";
- cout<<"2. Deux\n";
- cout<<"3. Trois\n";
- cout<<"4. Quatre\n";
- cout<<"5. Cinq\n";
- cout<<"6. Six\n";
- cout<<"7. Brelan\n";
- cout<<"8. Carre\n";
- cout<<"9. Full\n";
- cout<<"10. Petite Suite\n";
- cout<<"11. Grande Suite\n";
- cout<<"12. Yahtzee\n";
- cout<<"13. Chance\n";
- cout<<"14. Prime Yahtzee\n";
- cout<<"choix: ";cin>>choix;
- switch(choix)
- {
- case 1:
- if(as==-1) //seulement si la case as est vide...
- {
- pts=_as(de); //pts prend le nombre de points comptés
- if(pts==0) //si aucun point n'est compté...
- {
- cout<<"Vous n'avez pas d'as...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)as=0; //soit on inscrit un score nul
- else{clrscr();marked=false;} //soit on retourne au menu
- }
- else as=pts; //si le score est positif, on l'inscrit
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- //si la case n'est pas vide, on indique que le score
- //ne sera pas inscrit à l'aide du booléen marked
- break;
- case 2:
- if(deux==-1)
- {
- pts=_deux(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de deux...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)deux=0;
- else{clrscr();marked=false;}
- }
- else deux=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 3:
- if(trois==-1)
- {
- pts=_trois(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de trois...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)trois=0;
- else{clrscr();marked=false;}
- }
- else trois=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 4:
- if(quatre==-1)
- {
- pts=_quatre(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de quatre...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)quatre=0;
- else{clrscr();marked=false;}
- }
- else quatre=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 5:
- if(cinq==-1)
- {
- pts=_cinq(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de cinq...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)cinq=0;
- else{clrscr();marked=false;}
- }
- else cinq=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 6:
- if(six==-1)
- {
- pts=_six(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de six...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)six=0;
- else{clrscr();marked=false;}
- }
- else six=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 7:
- if(brelan==-1)
- {
- pts=_brelan(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de brelan...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)brelan=0;
- else{clrscr();marked=false;}
- }
- else brelan=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 8:
- if(carre==-1)
- {
- pts=_carre(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de carre...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)carre=0;
- else{clrscr();marked=false;}
- }
- else carre=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 9:
- if(full==-1)
- {
- pts=_full(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de full...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)full=0;
- else{clrscr();marked=false;}
- }
- else full=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 10:
- if(psuite==-1)
- {
- pts=_psuite(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de petite suite...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)psuite=0;
- else{clrscr();marked=false;}
- }
- else psuite=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 11:
- if(gsuite==-1)
- {
- pts=_gsuite(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de grande suite...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)gsuite=0;
- else{clrscr();marked=false;}
- }
- else gsuite=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 12:
- if(yahtzee==-1)
- {
- pts=_yahtzee(de);
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de yahtzee...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1){yahtzee=0;pyahtzee=0;}
- //si un score nul est inscrit dans la case yahtzee
- //alors un score nul est automatiquement inscrit
- //dans la case de prime yahtzee (voir règles)
- else{clrscr();marked=false;}
- }
- else yahtzee=pts;
- }
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 13:
- if(chance==-1)chance=_chance(de);
- //la seule condition est que la case soit vide
- else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
- break;
- case 14:
- if(pyahtzee==-1) //si la case de prime yahtzee est vide
- {
- if(yahtzee==-1) //si la case du yahtzee est vide...
- {clrscr();cout<<"La case yahtzee est vide!\n";marked=false;}
- //...la prime est impossible
- else
- {
- pts=_yahtzee(de); //on teste s'il y a yahtzee
- if(pts==0)
- {
- cout<<"\nVous n'avez pas de yahtzee...\n";
- cout<<"1. Inscrire un score nul\n";
- cout<<"2. Annuler\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)pyahtzee=0;
- else{clrscr();marked=false;}
- }
- else pyahtzee=pts*2;
- //la prime coûte 2 fois plus que le yahtzee
- }
- }
- else{clrscr();cout<<"Impossible!\n";marked=false;}
- //la prime n'est autorisée qu'une seule fois
- break;
- default: //si un autre chois est fait...
- clrscr();
- cout<<"Choix non valide!\n";
- marked=false;
- break;
- }
- }while(marked==false); //boucle tant qu'aucun score n'est inscrit
- }
-
- bool testfin()
- {
- if(as!=-1 && deux!=-1 && trois!=-1 && quatre!=-1 && cinq!=-1 && six!=-1 && brelan!=-1 && carre!=-1 && full!=-1 && psuite!=-1 && gsuite!=-1 && yahtzee!=-1 && chance!=-1 && pyahtzee!=-1)
- //si toutes les cases sont remplies...
- return true;
- //...alors la partie est terminée
- return false;
- }
-
- void affiche(de de[])
- //affiche 5 dés à l'aide de boucles affichant des barres, des
- //underscores, des espaces et des 'o' en fonction des valeurs tirées
- {
- int i;
- cout<<" _______ _______ _______ _______ _______\n";
- cout<<"\xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3\n";
- for(i=1;i<6;i++)
- {
- cout<<"\xB3 ";
- if(de[i].valeur==4 || de[i].valeur==5 || de[i].valeur==6)
- cout<<"o";else cout<<" ";
- cout<<" ";
- if(de[i].valeur!=1)cout<<"o";else cout<<" ";
- cout<<" \xB3 ";
- }
- cout<<endl;
- for(i=1;i<6;i++)
- {
- cout<<"\xB3 ";
- if(de[i].valeur==6)cout<<"o";else cout<<" ";
- if(de[i].valeur==1 || de[i].valeur==3 || de[i].valeur==5)
- cout<<"o";else cout<<" ";
- if(de[i].valeur==6)cout<<"o";else cout<<" ";
- cout<<" \xB3 ";
- }
- cout<<endl;
- for(i=1;i<6;i++)
- {
- cout<<"\xB3 ";
- if(de[i].valeur!=1)cout<<"o";else cout<<" ";
- cout<<" ";
- if(de[i].valeur==4 || de[i].valeur==5 || de[i].valeur==6)
- cout<<"o";else cout<<" ";
- cout<<" \xB3 ";
- }
- cout<<endl;
- cout<<"\xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3\n";
- cout<<" 1 2 3 4 5\n";
- cout<<endl;
- }
-
- void lancer(de de[])
- {
- time_t t; //déclaration pour la fonction time(...)
- int i,j,choix,nb,num;
- //nb représente le nombre de dés que le joueur décide de garder
- //num prend les numéros des dés que le joueur décide de garder
- for(i=1;i<6;i++)de[i].garde=0;
- //les dés gardés ne peuvent pas être lancés, alors on les dégarde
- for(i=0;i<3;i++)
- {
- cout<<"\nlancer num\x82ro "<<i+1<<endl;
- srand(time(&t)); //initialise le "randomize timer"
- for(j=1;j<6;j++)if(de[j].garde==0)de[j].valeur=rand()%6+1;
- //tire une valeur entre 1 et 6 pour chaque dé non-gardé
- affiche(de); //et affiche les dés
- if(i!=2) //si ce n'est pas le dernier lancer
- {
- cout<<"\n1. Relancer\n";
- cout<<"2. Garder tous les d\x82s\n";
- cout<<"choix: ";cin>>choix;
- if(choix==1)
- {
- for(j=1;j<6;j++)de[j].garde=0;
- do{
- cout<<"\nGarder combien de d\x82s? (0-4) ";cin>>nb;
- if(nb<0 || nb>4)cout<<"Nombre incorrect!\n";
- }while(nb<0 || nb>4);
- cout<<"\nLe(s)quel(s)? (1-5) (tape ENTREE entre chaque numero)\n";
- for(j=0;j<nb;j++)
- {
- cin>>num;
- if(num<1 || num>5){cout<<"Non valide!\n";j--;}
- else if(de[num].garde==1){cout<<"D\x82j\x85 gard\x82!\n";j--;}
- else de[num].garde=1;
- //si le joueur décide de garder ce dé, on met
- //la garde du dé à 1 pour le prochain lancer
- }
- }
- else break;
- }
- }
- if(choix==1)getch();
- clrscr();
- }
-
- int score()
- //affiche la feuille des scores
- //retourne le total des points jusqu'à maintenant
- {
- int total1=0,total2=0,total,prime;
- clrscr();
- cout<<"Section Sup\x82rieure\n";
- cout<<"* Total des AS \xB3 ";
- if(as>=0){cout<<as<<endl;total1=total1+as;}else cout<<endl;
- cout<<"** Total des DEUX \xB3 ";
- if(deux>=0){cout<<deux<<endl;total1=total1+deux;}else cout<<endl;
- cout<<"*** Total des TROIS \xB3 ";
- if(trois>=0){cout<<trois<<endl;total1=total1+trois;}else cout<<endl;
- cout<<"**** Total des QUATRE \xB3 ";
- if(quatre>=0){cout<<quatre<<endl;total1=total1+quatre;}else cout<<endl;
- cout<<"***** Total des CINQ \xB3 ";
- if(cinq>=0){cout<<cinq<<endl;total1=total1+cinq;}else cout<<endl;
- cout<<"****** Total des SIX \xB3 ";
- if(six>=0){cout<<six<<endl;total1=total1+six;}else cout<<endl;
- cout<<" Total \xB3 "<<total1<<endl;
- if(total1>=63)prime=35;else prime=0;
- cout<<"63+ Prime de 35 points \xB3 "<<prime<<endl;
- cout<<"Total de la section sup\x82rieure \xB3 "<<total1+prime<<endl;
- cout<<"______________________________\n";
- cout<<"Section Inf\x82rieure\n";
- cout<<"Brelan Total des 5 d\x82s \xB3 ";
- if(brelan>=0){cout<<brelan<<endl;total2=total2+brelan;}else cout<<endl;
- cout<<"Carr\x82 Total des 5 d\x82s \xB3 ";
- if(carre>=0){cout<<carre<<endl;total2=total2+carre;}else cout<<endl;
- cout<<"Full 25 points \xB3 ";
- if(full>=0){cout<<full<<endl;total2=total2+full;}else cout<<endl;
- cout<<"Petite Suite 30 points \xB3 ";
- if(psuite>=0){cout<<psuite<<endl;total2=total2+psuite;}else cout<<endl;
- cout<<"Grande Suite 40 points \xB3 ";
- if(gsuite>=0){cout<<gsuite<<endl;total2=total2+gsuite;}else cout<<endl;
- cout<<"Yahtzee 50 points \xB3 ";
- if(yahtzee>=0){cout<<yahtzee<<endl;total2=total2+yahtzee;}else cout<<endl;
- cout<<"Chance Total des 5 d\x82s \xB3 ";
- if(chance>=0){cout<<chance<<endl;total2=total2+chance;}else cout<<endl;
- cout<<"Prime Yahtzee 100 points \xB3 ";
- if(pyahtzee>=0){cout<<pyahtzee<<endl;total2=total2+pyahtzee;}else cout<<endl;
- cout<<"Total de la section inf\x82rieure \xB3 "<<total2<<endl;
- cout<<"Total de la section sup\x82rieure \xB3 "<<total1<<endl;
- cout<<"______________________________\n";
- total=total1+total2;
- cout<<" Total G\x82n\x82ral \xB3 "<<total<<endl;
- getch();
- return total;
- }
-
- void main()
- {
- cout<<"Bienvenue dans mon jeu de Yahtzee pour un joueur\n\n";
- de de[6]; //il n'y a pas 6 dés?!?... de[0] ne sert à rien
- joueur best[10]; //les trois meilleurs joueurs
- int choix1,choix2,pts,i,position;
- FILE *f;
- f=fopen("bestscores.wep","r");
- //on ouvre le fichier en lecture
- if(f==NULL)for(i=0;i<10;i++){best[i].nom[0]='\0';best[i].score=0;}
- //s'il n'existe pas, on initialise les noms et scores des joueurs
- else
- {
- fread(best,sizeof(joueur),10,f);
- fclose(f);
- //sinon on enregistre les données dans le tableau best[3]
- }
- do{
- cout<<"1. Nouvelle Partie\n";
- cout<<"2. Meilleurs Scores\n";
- cout<<"3. R\x8Agles du Jeu\n";
- cout<<"4. Quitter\n";
- cout<<"choix: ";cin>>choix1;
- if(choix1==1){
- clrscr();
- init();
- pts=0;
- do{
- cout<<"1. Lancer les des\n";
- cout<<"2. Voir la feuille de scores\n";
- cout<<"3. Aide\n";
- cout<<"4. Abandonner la partie\n";
- cout<<"choix: ";cin>>choix2;
- if(choix2==1)
- {
- lancer(de);
- clrscr();
- menu(de);
- pts=score();
- }
- if(choix2==2)score();
- if(choix2==3)aide();
- clrscr();
- if(testfin()==true)break;
- //si toutes les cases sont remplies, on sort
- }while(choix2!=4);
- cout<<"Partie terminee!!\n";
- cout<<"Ton score est: "<<pts<<endl;
- position=10; //on initialise position
- for(i=0;i<10;i++)if(pts>=best[i].score){position=i;break;}
- //si le score est supérieur à un des dix meilleurs,
- //on enregistre l'indice dans la variable position
- if(position!=10){ //s'il fait partie des dix premiers
- for(i=9;i>position;i--)best[i]=best[i-1];
- //on décale les autres scores du tableau
- cout<<"Tu fais partie des meilleurs joueurs!\n";
- cout<<"Tape ton nom: ";cin>>best[position].nom;
- //on enregistre le nom au bon endroit...
- best[position].score=pts; //et le score
- }
- f=fopen("bestscores.wep","w");
- //on ouvre le fichier des meilleurs scores en écriture
- fwrite(best,sizeof(joueur),10,f);
- //et on y enregistre le tableau best
- fclose(f);
- getch();
- clrscr();
- }
- if(choix1==2){
- clrscr();
- f=fopen("bestscores.wep","r");
- //on ouvre le fichier des meilleurs scores en lecture
- if(f==NULL)cout<<"Aucun meilleur score"<<endl;
- else{
- cout<<"= = MEILLEURS SCORES = =\n\n";
- fread(best,sizeof(joueur),10,f);
- fclose(f);
- for(i=1;i<11;i++){
- cout<<i<<") ";
- if(i!=10)cout<<" ";
- cout<<best[i-1].nom<<" "<<best[i-1].score<<endl;
- }
- //s'il existe, on lit et affiche les noms et scores
- }
- getch();
- }
- if(choix1==3)aide();
- clrscr();
- }while(choix1!=4);
- }
#include<iostream.h>
#include<conio.h> //pour la fonction getch()
#include<stdlib.h> //pour les fonctions srand(unsigned) et rand()
#include<time.h> //pour la fonction time(long)
#include<stdio.h> //pour les flux fichiers
#include"test.h" //les fonctions de test également commentées
#include"econio.h" //pour la fonction clrscr()
int as,deux,trois,quatre,cinq,six,brelan,carre,full,psuite,gsuite,yahtzee,chance,pyahtzee;
//déclaration des variables globales représentant les scores
struct joueur
{
char nom[30];
int score;
};
void init()
//les variables sont initialisées à -1 (=vide)
{
as=-1;
deux=-1;
trois=-1;
quatre=-1;
cinq=-1;
six=-1;
brelan=-1;
carre=-1;
full=-1;
psuite=-1;
gsuite=-1;
yahtzee=-1;
chance=-1;
pyahtzee=-1;
}
void aide()
//du texte uniquement, la règle du jeu
{
clrscr();
cout<<"= = = YAHTZEE = = =\n\n";
cout<<"Le Yahtzee est un jeu de d\x82s. Ce programme est fait\n";
cout<<"pour un seul joueur, mais vous pouvez jouer les uns apr\x8As\n";
cout<<"les autres et comparer vos scores."<<endl;
getch();
//attend la frappe d'une touche
cout<<"\n LE JEU\n\n";
cout<<"A chaque tour les d\x82s peuvent \x88tre lanc\x82s trois\n";
cout<<"fois au maximum. Mais le joueur peut, s'il le d\x82sire,\n";
cout<<"ne les lancer qu'une ou deux fois.\n";
cout<<"La premi\x8Are fois, le joueur doit obligatoirement\n";
cout<<"lancer tous les d\x82s.\n";
cout<<"Si le joueur decide de lancer les d\x82s une deuxi\x8Ame\n";
cout<<"et troisieme fois, il peut ramasser tous les d\x82s\n";
cout<<"ou seulement ceux de son choix et les lancer \x85 nouveau.\n";
cout<<"Apr\x8As la troisi\x8Ame fois les d\x82s ne peuvent plus\n";
cout<<"\x88tre lanc\x82s et les points obtenus doivent \x88tre marqu\x82s."<<endl;
getch();
cout<<"\n RESUME DU JEU\n\n";
cout<<"Lancez les d\x82s trois fois maximum de fa\x87on \x85\n";
cout<<"obtenir la meilleure combinaison possible.\n";
cout<<"Inscrivez votre score dans l'une des 13 cases: 6 dans la\n";
cout<<"section sup\x82rieure et 7 dans la section inf\x82rieure.\n";
cout<<"Les cases peuvent \x88tre remplies dans n'importe quel\n";
cout<<"ordre, mais obligatoirement une \x85 chaque tour."<<endl;
getch();
cout<<"\n COMMENT MAQUER LES POINTS\n\n";
cout<<" La section sup\x82rieure\n";
cout<<"As \x85 Six : Vous obtenez un ou plusieurs as, vous faites le total\n";
cout<<"des as, vous les inscrivez dans la case des As, ...etc\n\n";
cout<<" La section inf\x82rieure\n";
cout<<"Brelan : Vous obtenez trois d\x82s indiquant le m\x88me\n";
cout<<"chiffre et deux autres chiffres.\n";
cout<<"Carr\x82 : Vous obtenez quatre d\x82s indiquant le m\x88me\n";
cout<<"chiffre et un autre chiffre.\n";
cout<<"Full : Vous obtenez une combinaison de deux et de trois\n";
cout<<"d\x82s identiques.\n";
cout<<"Petite Suite : Vous obtenez une suite de quatre chiffres.\n";
cout<<"Grande Suite : Vous obtenez une suite de cinq chiffres.\n";
cout<<"Yahtzee : Vous obtenez cinq chiffres identiques."<<endl;
getch();
cout<<"\n CHANCE\n\n";
cout<<"C'est l'occasion unique pour le joueur de marquer le total\n";
cout<<"de ses cinq d\x82s par n'importe quelle combinaison. Vous\n";
cout<<"pouvez utiliser la case 'Chance' lorque vous obtenez une combinaison\n";
cout<<"d\x82j\x85 inscrite sur votre feuille de score, ou lorsque\n";
cout<<"vous ne pouvez inscrire votre score dans aucune des autres cases\n";
cout<<"disponibles."<<endl;
getch();
cout<<"\n OPTION ZERO\n\n";
cout<<"Au cours du jeu, le joueur peut choisir, s'il pense que\n";
cout<<"c'est \x85 son avantage, d'inscrire un 0 \x85 la fin du tour\n";
cout<<"plutot que de marquer des points..."<<endl;
getch();
cout<<"\n PRIME DE 35 POINTS\n\n";
cout<<"Si vous totalisez 63 points (ou plus) dans la section\n";
cout<<"sup\x82rieure, vous obtenez une prime de 35 points."<<endl;
getch();
cout<<"\n PRIME YAHTZEE\n\n";
cout<<"Vous avez droit \x85 une prime Yahtzee qui vaut 100 points lorsque\n";
cout<<"vous faites d'autres Yahtzee \x85 la seule condition que le premier\n";
cout<<"Yahtzee ait \x82t\x82 inscrit dans la case appropriee. Si le\n";
cout<<"joueur a d\x82j\x85 inscrit un 0 dans la case Yahtzee, il ne\n";
cout<<"poura b\x82neficier d'aucune prime Yahtzee."<<endl;
getch();
}
void menu(de de[]) //la structure "de" se trouve dans le header test
{
int choix,pts;
bool marked; //booléen indiquant si un score a été inscrit ou non
do{
marked=true;
cout<<"Dans quelle case veux-tu inscrire tes points?\n";
cout<<"1. As\n";
cout<<"2. Deux\n";
cout<<"3. Trois\n";
cout<<"4. Quatre\n";
cout<<"5. Cinq\n";
cout<<"6. Six\n";
cout<<"7. Brelan\n";
cout<<"8. Carre\n";
cout<<"9. Full\n";
cout<<"10. Petite Suite\n";
cout<<"11. Grande Suite\n";
cout<<"12. Yahtzee\n";
cout<<"13. Chance\n";
cout<<"14. Prime Yahtzee\n";
cout<<"choix: ";cin>>choix;
switch(choix)
{
case 1:
if(as==-1) //seulement si la case as est vide...
{
pts=_as(de); //pts prend le nombre de points comptés
if(pts==0) //si aucun point n'est compté...
{
cout<<"Vous n'avez pas d'as...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)as=0; //soit on inscrit un score nul
else{clrscr();marked=false;} //soit on retourne au menu
}
else as=pts; //si le score est positif, on l'inscrit
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
//si la case n'est pas vide, on indique que le score
//ne sera pas inscrit à l'aide du booléen marked
break;
case 2:
if(deux==-1)
{
pts=_deux(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de deux...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)deux=0;
else{clrscr();marked=false;}
}
else deux=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 3:
if(trois==-1)
{
pts=_trois(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de trois...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)trois=0;
else{clrscr();marked=false;}
}
else trois=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 4:
if(quatre==-1)
{
pts=_quatre(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de quatre...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)quatre=0;
else{clrscr();marked=false;}
}
else quatre=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 5:
if(cinq==-1)
{
pts=_cinq(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de cinq...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)cinq=0;
else{clrscr();marked=false;}
}
else cinq=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 6:
if(six==-1)
{
pts=_six(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de six...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)six=0;
else{clrscr();marked=false;}
}
else six=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 7:
if(brelan==-1)
{
pts=_brelan(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de brelan...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)brelan=0;
else{clrscr();marked=false;}
}
else brelan=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 8:
if(carre==-1)
{
pts=_carre(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de carre...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)carre=0;
else{clrscr();marked=false;}
}
else carre=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 9:
if(full==-1)
{
pts=_full(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de full...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)full=0;
else{clrscr();marked=false;}
}
else full=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 10:
if(psuite==-1)
{
pts=_psuite(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de petite suite...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)psuite=0;
else{clrscr();marked=false;}
}
else psuite=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 11:
if(gsuite==-1)
{
pts=_gsuite(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de grande suite...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)gsuite=0;
else{clrscr();marked=false;}
}
else gsuite=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 12:
if(yahtzee==-1)
{
pts=_yahtzee(de);
if(pts==0)
{
cout<<"\nVous n'avez pas de yahtzee...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1){yahtzee=0;pyahtzee=0;}
//si un score nul est inscrit dans la case yahtzee
//alors un score nul est automatiquement inscrit
//dans la case de prime yahtzee (voir règles)
else{clrscr();marked=false;}
}
else yahtzee=pts;
}
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 13:
if(chance==-1)chance=_chance(de);
//la seule condition est que la case soit vide
else{clrscr();cout<<"Case deja remplie!\n";marked=false;}
break;
case 14:
if(pyahtzee==-1) //si la case de prime yahtzee est vide
{
if(yahtzee==-1) //si la case du yahtzee est vide...
{clrscr();cout<<"La case yahtzee est vide!\n";marked=false;}
//...la prime est impossible
else
{
pts=_yahtzee(de); //on teste s'il y a yahtzee
if(pts==0)
{
cout<<"\nVous n'avez pas de yahtzee...\n";
cout<<"1. Inscrire un score nul\n";
cout<<"2. Annuler\n";
cout<<"choix: ";cin>>choix;
if(choix==1)pyahtzee=0;
else{clrscr();marked=false;}
}
else pyahtzee=pts*2;
//la prime coûte 2 fois plus que le yahtzee
}
}
else{clrscr();cout<<"Impossible!\n";marked=false;}
//la prime n'est autorisée qu'une seule fois
break;
default: //si un autre chois est fait...
clrscr();
cout<<"Choix non valide!\n";
marked=false;
break;
}
}while(marked==false); //boucle tant qu'aucun score n'est inscrit
}
bool testfin()
{
if(as!=-1 && deux!=-1 && trois!=-1 && quatre!=-1 && cinq!=-1 && six!=-1 && brelan!=-1 && carre!=-1 && full!=-1 && psuite!=-1 && gsuite!=-1 && yahtzee!=-1 && chance!=-1 && pyahtzee!=-1)
//si toutes les cases sont remplies...
return true;
//...alors la partie est terminée
return false;
}
void affiche(de de[])
//affiche 5 dés à l'aide de boucles affichant des barres, des
//underscores, des espaces et des 'o' en fonction des valeurs tirées
{
int i;
cout<<" _______ _______ _______ _______ _______\n";
cout<<"\xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3 \xB3\n";
for(i=1;i<6;i++)
{
cout<<"\xB3 ";
if(de[i].valeur==4 || de[i].valeur==5 || de[i].valeur==6)
cout<<"o";else cout<<" ";
cout<<" ";
if(de[i].valeur!=1)cout<<"o";else cout<<" ";
cout<<" \xB3 ";
}
cout<<endl;
for(i=1;i<6;i++)
{
cout<<"\xB3 ";
if(de[i].valeur==6)cout<<"o";else cout<<" ";
if(de[i].valeur==1 || de[i].valeur==3 || de[i].valeur==5)
cout<<"o";else cout<<" ";
if(de[i].valeur==6)cout<<"o";else cout<<" ";
cout<<" \xB3 ";
}
cout<<endl;
for(i=1;i<6;i++)
{
cout<<"\xB3 ";
if(de[i].valeur!=1)cout<<"o";else cout<<" ";
cout<<" ";
if(de[i].valeur==4 || de[i].valeur==5 || de[i].valeur==6)
cout<<"o";else cout<<" ";
cout<<" \xB3 ";
}
cout<<endl;
cout<<"\xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3 \xB3_______\xB3\n";
cout<<" 1 2 3 4 5\n";
cout<<endl;
}
void lancer(de de[])
{
time_t t; //déclaration pour la fonction time(...)
int i,j,choix,nb,num;
//nb représente le nombre de dés que le joueur décide de garder
//num prend les numéros des dés que le joueur décide de garder
for(i=1;i<6;i++)de[i].garde=0;
//les dés gardés ne peuvent pas être lancés, alors on les dégarde
for(i=0;i<3;i++)
{
cout<<"\nlancer num\x82ro "<<i+1<<endl;
srand(time(&t)); //initialise le "randomize timer"
for(j=1;j<6;j++)if(de[j].garde==0)de[j].valeur=rand()%6+1;
//tire une valeur entre 1 et 6 pour chaque dé non-gardé
affiche(de); //et affiche les dés
if(i!=2) //si ce n'est pas le dernier lancer
{
cout<<"\n1. Relancer\n";
cout<<"2. Garder tous les d\x82s\n";
cout<<"choix: ";cin>>choix;
if(choix==1)
{
for(j=1;j<6;j++)de[j].garde=0;
do{
cout<<"\nGarder combien de d\x82s? (0-4) ";cin>>nb;
if(nb<0 || nb>4)cout<<"Nombre incorrect!\n";
}while(nb<0 || nb>4);
cout<<"\nLe(s)quel(s)? (1-5) (tape ENTREE entre chaque numero)\n";
for(j=0;j<nb;j++)
{
cin>>num;
if(num<1 || num>5){cout<<"Non valide!\n";j--;}
else if(de[num].garde==1){cout<<"D\x82j\x85 gard\x82!\n";j--;}
else de[num].garde=1;
//si le joueur décide de garder ce dé, on met
//la garde du dé à 1 pour le prochain lancer
}
}
else break;
}
}
if(choix==1)getch();
clrscr();
}
int score()
//affiche la feuille des scores
//retourne le total des points jusqu'à maintenant
{
int total1=0,total2=0,total,prime;
clrscr();
cout<<"Section Sup\x82rieure\n";
cout<<"* Total des AS \xB3 ";
if(as>=0){cout<<as<<endl;total1=total1+as;}else cout<<endl;
cout<<"** Total des DEUX \xB3 ";
if(deux>=0){cout<<deux<<endl;total1=total1+deux;}else cout<<endl;
cout<<"*** Total des TROIS \xB3 ";
if(trois>=0){cout<<trois<<endl;total1=total1+trois;}else cout<<endl;
cout<<"**** Total des QUATRE \xB3 ";
if(quatre>=0){cout<<quatre<<endl;total1=total1+quatre;}else cout<<endl;
cout<<"***** Total des CINQ \xB3 ";
if(cinq>=0){cout<<cinq<<endl;total1=total1+cinq;}else cout<<endl;
cout<<"****** Total des SIX \xB3 ";
if(six>=0){cout<<six<<endl;total1=total1+six;}else cout<<endl;
cout<<" Total \xB3 "<<total1<<endl;
if(total1>=63)prime=35;else prime=0;
cout<<"63+ Prime de 35 points \xB3 "<<prime<<endl;
cout<<"Total de la section sup\x82rieure \xB3 "<<total1+prime<<endl;
cout<<"______________________________\n";
cout<<"Section Inf\x82rieure\n";
cout<<"Brelan Total des 5 d\x82s \xB3 ";
if(brelan>=0){cout<<brelan<<endl;total2=total2+brelan;}else cout<<endl;
cout<<"Carr\x82 Total des 5 d\x82s \xB3 ";
if(carre>=0){cout<<carre<<endl;total2=total2+carre;}else cout<<endl;
cout<<"Full 25 points \xB3 ";
if(full>=0){cout<<full<<endl;total2=total2+full;}else cout<<endl;
cout<<"Petite Suite 30 points \xB3 ";
if(psuite>=0){cout<<psuite<<endl;total2=total2+psuite;}else cout<<endl;
cout<<"Grande Suite 40 points \xB3 ";
if(gsuite>=0){cout<<gsuite<<endl;total2=total2+gsuite;}else cout<<endl;
cout<<"Yahtzee 50 points \xB3 ";
if(yahtzee>=0){cout<<yahtzee<<endl;total2=total2+yahtzee;}else cout<<endl;
cout<<"Chance Total des 5 d\x82s \xB3 ";
if(chance>=0){cout<<chance<<endl;total2=total2+chance;}else cout<<endl;
cout<<"Prime Yahtzee 100 points \xB3 ";
if(pyahtzee>=0){cout<<pyahtzee<<endl;total2=total2+pyahtzee;}else cout<<endl;
cout<<"Total de la section inf\x82rieure \xB3 "<<total2<<endl;
cout<<"Total de la section sup\x82rieure \xB3 "<<total1<<endl;
cout<<"______________________________\n";
total=total1+total2;
cout<<" Total G\x82n\x82ral \xB3 "<<total<<endl;
getch();
return total;
}
void main()
{
cout<<"Bienvenue dans mon jeu de Yahtzee pour un joueur\n\n";
de de[6]; //il n'y a pas 6 dés?!?... de[0] ne sert à rien
joueur best[10]; //les trois meilleurs joueurs
int choix1,choix2,pts,i,position;
FILE *f;
f=fopen("bestscores.wep","r");
//on ouvre le fichier en lecture
if(f==NULL)for(i=0;i<10;i++){best[i].nom[0]='\0';best[i].score=0;}
//s'il n'existe pas, on initialise les noms et scores des joueurs
else
{
fread(best,sizeof(joueur),10,f);
fclose(f);
//sinon on enregistre les données dans le tableau best[3]
}
do{
cout<<"1. Nouvelle Partie\n";
cout<<"2. Meilleurs Scores\n";
cout<<"3. R\x8Agles du Jeu\n";
cout<<"4. Quitter\n";
cout<<"choix: ";cin>>choix1;
if(choix1==1){
clrscr();
init();
pts=0;
do{
cout<<"1. Lancer les des\n";
cout<<"2. Voir la feuille de scores\n";
cout<<"3. Aide\n";
cout<<"4. Abandonner la partie\n";
cout<<"choix: ";cin>>choix2;
if(choix2==1)
{
lancer(de);
clrscr();
menu(de);
pts=score();
}
if(choix2==2)score();
if(choix2==3)aide();
clrscr();
if(testfin()==true)break;
//si toutes les cases sont remplies, on sort
}while(choix2!=4);
cout<<"Partie terminee!!\n";
cout<<"Ton score est: "<<pts<<endl;
position=10; //on initialise position
for(i=0;i<10;i++)if(pts>=best[i].score){position=i;break;}
//si le score est supérieur à un des dix meilleurs,
//on enregistre l'indice dans la variable position
if(position!=10){ //s'il fait partie des dix premiers
for(i=9;i>position;i--)best[i]=best[i-1];
//on décale les autres scores du tableau
cout<<"Tu fais partie des meilleurs joueurs!\n";
cout<<"Tape ton nom: ";cin>>best[position].nom;
//on enregistre le nom au bon endroit...
best[position].score=pts; //et le score
}
f=fopen("bestscores.wep","w");
//on ouvre le fichier des meilleurs scores en écriture
fwrite(best,sizeof(joueur),10,f);
//et on y enregistre le tableau best
fclose(f);
getch();
clrscr();
}
if(choix1==2){
clrscr();
f=fopen("bestscores.wep","r");
//on ouvre le fichier des meilleurs scores en lecture
if(f==NULL)cout<<"Aucun meilleur score"<<endl;
else{
cout<<"= = MEILLEURS SCORES = =\n\n";
fread(best,sizeof(joueur),10,f);
fclose(f);
for(i=1;i<11;i++){
cout<<i<<") ";
if(i!=10)cout<<" ";
cout<<best[i-1].nom<<" "<<best[i-1].score<<endl;
}
//s'il existe, on lit et affiche les noms et scores
}
getch();
}
if(choix1==3)aide();
clrscr();
}while(choix1!=4);
}
Conclusion
Voilà, c'est mon dernier et mon plus beau prog, autant dans la syntaxe que dans l'interface, alors j'espère qu'il vous plaira... Au fait, l'ouverture de mon site avec Lambda.Man aura un peu de retard, mais sera sans doute ouvert fin juin 2002!! Venez nombreux!! http://lambda.man.free.fr
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|