Salut à tous, j'aurai grand besoin d'aide. en effet, je voudrai pouvoir intégrer un score dans mon jeu, mais je ne sais pas comment faire, je progamme sous TC++
Enregistrez le texte suivant en cpp et compiler le avecTC++
Si vous pouviez me dire comment faire, ce searit vraiment sympa de votre part.
Je vous remercie d'avance
Voici le listing de mon programme:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<iostream.h>
#include<dos.h>
int xniv[14],yniv=10,vniv[35],perdu=0,gagne=0,vitesse=60;
int up=1;//une seule vie
int droite;
int ballx=38,bally=22,aballx=37,abally=23;//position de la balle
int barx=37,bary=23,abarx,abary;//position de la raquette
char rep='o',op;// op : operation a effectuer
//Sous programmes utilis‚s:
void bar();
void Nbar();
void niveau();
void ball();
void menu();
void briques();
/////////////////////////////////////////////////////////////////////////////////////////////////
/**************************************** Main ***********************************************/
//Boucle Principale du programme:
int main()
{
_setcursortype(_NOCURSOR);//supprime le curseur
for(int i=0;i<14;i++)
{
vniv[i]=1;
}
rep://utilise l'option de recommencer ou pas
clrscr();//faire un nettoyage de l'‚cran
menu();//Rappel du sous programme menu
niveau();//Rappel du sous programme niveau
briques();//Rappel du sous programme briques
do
{
key://Utilisation du clavier
bar();//Rappel du sous programme bar
ball();//Rappel du sous programme balle
for(i=0;i<14 ;i++)//Si toutes les briques sont cass‚es
{
if(vniv[i]==0) {gagne=1;//Si il n'y a plus de brique dans le niveau,le joueur gagne
}
else//sinon
{gagne=0;//le joueur ne gagne pas
break;//quitte le bloc d'instructions
}
}
if(gagne==1)//Si le joueur a gagn‚ (plus de briques dans le niveau)
{textbackground(3);//fond d'‚cran de couleur bleu clair
textcolor(15);//‚crit un texte en blanc
clrscr();//efface l'‚cran
gotoxy(10,10);//place le curseur … la colonne 10 et la 10 Šme ligne
cprintf(" Vous commencez … pas ˆtre trop mauvais !!! ");
gotoxy(10,11);cprintf(" Mais maintenant ‡a va aller plus vite. ");//‚crire un texte
delay(4000);//attend 4s
gotoxy(10,20);//place le curseur en colonne 3 et ligne 15
cprintf("C'‚tait une blague, en fait vous avez gagn‚...");//ecrit une autre phrase
delay(4000);//attend 4s
exit(1);//quitte le jeu
}
if(kbhit())// Gestion du clavier
{
op=getch();//op‚ration a effectuer
if(op=='3')//si l'op‚ration est la touche 3 du clavier
{
if(barx>65) goto key;//si la position de la raquette sur l'axe des x est sup‚rieure … 65, alors,rappel de la gestion des touches
Nbar();//Rappel du sous programme Nbar
barx+=3;//le joueur d‚place sa raquette de 3 lignes vers la droite
goto key;
}
else//sinon
if(op=='1')//si l'op‚ration est la touche 1 du clavier
{
if(barx<10 ) goto key;//si la position de la raquette sur l'axe des x est inf‚rieure … 10, rappelle la gestion des touches
Nbar();//Rappel du sous programme Nbar
barx-=3;//le joueur d‚place sa raquette de 3 lignes vers la gauche
goto key;
}
}
}
while(perdu==0);//Fin de la boucle du jeu si la balle tombe
do
{
textbackground(11);//fond d'‚cran de couleur bleu trŠs clair
clrscr();//efface l'‚cran
textcolor(5);//‚crit un texte de couleur violet clair
gotoxy(25,10);//met le curseur en colonne 25 et ligne 10
cprintf("Voulez-vous recommencer ? (o\\n)\n");//ecrit une question avec comme r‚ponse oui ou non
rep=getch();//r‚ponse … la question recommencer ou pas
if(rep=='n')//si la r‚ponse est non
{textbackground(15);//fond d'‚cran blanc
clrscr();//efface l'‚cran
textcolor(5);//ecrit du texte en couleur
gotoxy(25,10);cprintf("Dommage pour vous, vous avez perdu...\1");//met le curseur en colonne 25 et ligne 10 et ‚crit une phrase
delay(1000);//attend une seconde
while(!kbhit())//fin de la boucle
delay(1000);//attend une seconde
gotoxy(25,12);printf("Vous vous d‚gonflez...\2"); //‚crit une phrase
gotoxy(5,15);printf("Mais c'est quand mˆme bien d'avoir essay‚ de gagner");
gotoxy(5,16);printf("Et entre nous, l'important n'est pas de gagner, mais de participer...");
delay(4000);//attend 4 secondes
exit(1);//quitte le jeu
}
else if (rep=='o')//sinon, si la r‚ponse est oui
{
ballx=38;bally=22;aballx=37;abally=23;//Reinitialise les coordonn‚es de la balle
for(int i=0;i<35;i++)//Reinitialise les valeurs des brique du niveau
{
vniv[i]=1;
}
perdu=0;//toutes les valeurs sont r‚initialis‚es
goto rep;
}
}
while (rep!='o' && rep!='n');//tant que la r‚ponse est diff‚rente de o ou de n recommence
getch();
return 0;
}
/************************************* Fin du Main *******************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/**************************************** Nbar ***********************************************/
void Nbar()//sous programme pour effacer la raquette
{
gotoxy(abarx,abary);
textcolor(15);//texte blanc
textbackground(15);//fond blanc
printf(" ");//efface la raquette
gotoxy(barx,bary+1);//met le curseur en colonne barx et en ligne bary+1
textcolor(15);//texte blanc
textbackground(15);//fond d'‚cran blanc
gotoxy(barx,bary+1);//met le curseur en colonne barx et en ligne bary+1
printf(" ");
}
/************************************* Fin du Nbar *******************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/***************************************** bar ***********************************************/
void bar()//sous programme pour la raquette
{textbackground(0);//pas de couleur pour le fond d'‚cran//
abarx=barx;
abary=bary;
gotoxy(barx,bary);//met le curseur en colonne barx et en ligne bary
textcolor(12);//ecrit en couleur rouge clair
cprintf(" _________");//‚crit...
gotoxy(barx,bary+1);//met le curseur en colonne barx et en ligne bary+1
textcolor(12);//texte en couleur rouge clair
gotoxy(barx,bary+1);//met le curseur en colonne barx et en ligne bary+1
cprintf("|ßßßßßßßßß|");//‚crit... <--- 10 --->
// __________
// | |
}
/*************************************** Fin du bar ******************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/***************************************** niveau ********************************************/
void niveau()//affichage du niveau
{
gotoxy(0,0);//met le curseur en colonne 0 et en ligne 0
//-------------------------------73 colonnes------------------------------//
printf(" ._______________________________________________________________________.\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
printf(" º º\n");
}
/*************************************** Fin du niveau ***************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/****************************************** ball *********************************************/
void ball()//sous programme pour la balle
{
gotoxy(aballx,abally);
textcolor(15);//effacement de la balle
printf(" ");//efface la balle
if(aballx<ballx)
{droite=1;
}
else {droite=0;
}
if(abally<bally)
{up=-1;//vie=-1
}
else {up=1;//sinon vie=1
}
if((ballx>=ballx) && (ballx<=barx+10 && ballx>=barx) && (bally==23))//La Balle frappe la bar
{up=1;//une vie
}
if(bally==3 && up==1)//La Balle frappe le Plafond
{up=-1;//vie=-1
}
if(ballx==76)//Balle touche le mur droit
{droite=0;
}
if(ballx==7)//La Balle touche le mur gauche
{droite=1;
}
if(bally>23)//Balle tombe
{perdu=1;
}
for(int i=0;i<34;i++)//La Balle touche une Brique du niveau
if((ballx>=xniv[i] && ballx<=xniv[i]+1) && (bally>=yniv && bally<=yniv+1 ) && vniv[i]==1)
{
up=up*(-1);
vniv[i]=0;
textcolor(15);//texte en blanc
textbackground(15);//fond d'‚cran blanc
gotoxy(xniv[i],yniv);//met le curseur en colonne xniv[i] et en ligne yniv4
printf(" ");//efface la balle
gotoxy(xniv[i],yniv+1);//met le curseur en colonne xniv[i] et en ligne yniv4+1
printf(" ");//efface la balle
}
aballx=ballx;
abally=bally;
if(up==1)
{bally--;
}
else bally++;
if(droite==1)
{ballx++;
}
else ballx--;
delay(vitesse);
gotoxy(ballx,bally);//Dessin de la Balle
textcolor(15);//Couleur de la Balle blanche
textbackground(0);//pas de couleur du fond d'‚cran
cprintf("o");//ecrit la lettre o
}
/*************************************** Fin ball ********************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/****************************************** menu *********************************************/
void menu()//sous programme pour l'affichage du menu du jeu
{
textcolor(133);//texte violet clair qui clignote (5+128)
textbackground(0);//pas de couleur pour le fond d'‚cran
clrscr();//efface l'‚cran
gotoxy(27,3);cprintf(" _ \n");
gotoxy(27,4);cprintf("|_) _ ø _ |_/ _ _ _\n");
gotoxy(27,5);cprintf("|_) | ' | |_ | ( (_|_ _| _| \n");
textcolor(131);//texte en bleu clair qui clignote (3+128)
gotoxy(20,8);cprintf("Created by PELLECUER CEDRIC & MARCHAL DENIS...");
textcolor(4);//texte en rouge fonc‚
gotoxy(6,10);cprintf("RŠgles du jeu:");
textcolor(15);//texte en blanc
gotoxy(6,13);cprintf("Le but du jeu est trŠs simple:");
gotoxy(6,14);cprintf("Vous dirigez un objet horizontal appel‚ une raquette, situ‚e");
gotoxy(6,15);cprintf("en bas de l'‚cran de jeu. A l'aide de cette raquette et d'une balle");
gotoxy(6,16);cprintf("vous devez atteindre des briques. Ca n'a l'air de rien, mais des");
gotoxy(6,17);cprintf("g‚n‚rations de joueurs sont d‚j… pass‚es par l…...");
textcolor(1);//texte en bleu fonc‚
gotoxy(6,19);cprintf("Pour se diriger, il faut utiliser les touches 1 & 3 du pav‚ num‚rique");
textcolor(15);//texte en blanc
gotoxy(30,22);cprintf("Pour continuer, appuyer sur une touche...");
gotoxy(6,24);cprintf("Attention, car dŠs que vous allez appuyer sur une touche");
gotoxy(6,25);cprintf("la balle va ˆtre lanc‚e et vous n'avez qu'une vie.\n");
gotoxy(0,0);//met le curseur en colonne 0 et ligne 0
getch();
clrscr();//efface l'‚cran
textbackground(0);//pas de couleur pour le fond d'‚cran
textcolor(2);//texte de couleur vert fonc‚
clrscr();//efface l'‚cran
gotoxy(20,15);//met le curseur en colonne 20 et en ligne 15
printf("Loading...|");//chargement
textcolor(14);//texte en jaune (d‚cor du jeu)
for(int i=0;i<15;i++)//Loading...
{
delay(rand()%+100);
printf("ß ");//‚crit...
}
printf("|");//‚crit...
delay(800);//attend 800 ms
clrscr();//efface l'‚cran
}
/*************************************** Fin menu ********************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
/**************************************** briques ********************************************/
void briques()//sous programme pour l'affichage des briques
{
textbackground(0);//couleur du fond d'‚cran
int l=8;//affectation des coordonn‚es(x) des Briques
for (int k=0; k<14 ; k++)
{
xniv[k]=l;
l+=5;
}
for(int i=0;i<14;i++)
{
textcolor(3);//texte en bleur clair
textbackground(0);//pas de couleur pour le fond d'‚cran
gotoxy(xniv[i],yniv);
cprintf("ßß");//dessine les briques
gotoxy(xniv[i],yniv+1);
cprintf("ßß");//dessine les briques
}
}
Merci à tous et à toutes et @+...
Amicalement Cédric
