Pong basique

Fermé
alexandre9475 Messages postés 1313 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 8 mai 2014 - Modifié par alexandre9475 le 20/11/2012 à 19:52
 Eldanor - 22 nov. 2012 à 17:12
Bonjour les amis


Je suis en train de programmer un pong basique , deux questions surviennent :
-La première est un plutot un problème , comment faire en sorte de mettre une limite dans le deplacement des raquettes en haut et en bas ?

- Pour le score , je pensais incrémenté à chaque fois que la balle se trouvait à x<1 et x>79 , c'est a dire les colonnes , donc si <1 ca veut dire que c'est derrière la raquette donc perdu ect , est ce une bonne methode ?

merci d'avance .


Voici mon code source :

/****************************************************************************
* *
* File : main.c *
* *
* Purpose : Console mode (command line) program. *
* *
* History : Date Reason *
* 00/00/00 Created *
* *
****************************************************************************/

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

/****************************************************************************
* *
* Function: main *
* *
* Purpose : Main entry point. *
* *
* History : Date Reason *
* 00/00/00 Created *
* *
****************************************************************************/

void delay(int nbre)
{
int i, j, k;
for(i=0; i<nbre; i++)
{
i=i+1;
i=i-1;
for(j=0; j<200;j++)
{
j=j+1;
j=j-1;
for(k=0;k<200; k++)
{
k=k+1;
k=k-1;
}

}
}
}
int main(int argc, char *argv[])
{
char c;
int FLG;
char o;
float cx,cy,dx,dy ;
cx=20;
cy=11;
dx=0.2;
dy=0.8;
FLG=0;
int x=1;
int yg=11;
int yd=11;
int i;
int scoreA=0;
int scoreB=0;




do
{
_gotoxy(cx,cy);
printf ("o");
delay(300);
_gotoxy(cx,cy);
printf(" ");





if(yg==1 || yg==23 || yd==1 || yg==23)
{
yg=yg;
yd=yd;}
else
{
_gotoxy(1,yg-1);
printf(" ");
_gotoxy(79,yd-1);
printf(" ");


for(i=0;i<5;i++)
{
_gotoxy(1,yg+i);
printf("|");
_gotoxy(79,yd+i);
printf("|");


}

_gotoxy(1,yg+5);
printf(" ");
_gotoxy(79,yd+5);
printf(" ");
}




for(i=0;i<5;i++)
{
_gotoxy(15,1);
printf("Score joueur A");
_gotoxy(50,1);
printf("Score joueur B");
}



cx = cx + dx;
cy = cy + dy;
if (cx >79 || cx < 2)
dx = -dx;
if (cy > 23 || cy < 2)
dy = -dy;


if (_kbhit()!=0)
{
c= _getch();



switch(c)
{

case 27:
FLG=1;
break;
case '7' :
yg=yg-1;
break;
case '1' :
yg=yg+1;
break ;
case '9' :
yd=yd-1;
break;
case '3' :
yd=yd+1;
break;

}
}

}



while(FLG==0);
return (0);



1 réponse

Ton code est illisible.

Perso je te conseille d'utiliser une librairie existante tel que SDL pour faire des jeux !
0