Aquamad

Contenu du snippet

Code du celebre jeux " AQUA ".

Source / Exemple :


/***************************************************************************/
/**                                                                       **/
/**                         Programme de debutant par                     **/
/**                                                                       **/
/**                                 Rmadmann                              **/
/**                                                                       **/
/**                             Rmadmann@aol.com                          **/
/**                                                                       **/
/**                        Compilateur utilisé : RHIDE                    **/
/**                                                                       **/
/***************************************************************************/

/* Librairies utilisées */

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <bios.h>
#include <ctype.h>
#include <pc.h>

/* Positions et valeurs initiales */

int x_balle=39;
int y_balle=23;
int dy=-1;
int dx=1;
int x_ombre=39;
int y_ombre=23;
int x_espace=39;
int y_espace=23;
int x_raquette=35;
int temps=40;

/* Déplacements de la raquette */

void raquette(void)
{
  if (bioskey(2) & 1)
    {
      if (x_raquette<72) x_raquette++;
      else if(x_raquette==72) x_raquette=72;
    }
    if (bioskey(2) & 2)
    {
      if (x_raquette>1) x_raquette--;
      else if(x_raquette==1) x_raquette=1;
    }
  gotoxy(x_raquette,24);
  printf(" ======= ");
}

/* Déplacements de la balle */

void balle(void)
{
  gotoxy(x_balle,y_balle);
  printf("O");
  gotoxy(x_ombre,y_ombre);
  printf(".");
  gotoxy(x_espace,y_espace);
  printf(" ");
  delay(30);
  x_espace=x_ombre;
  y_espace=y_ombre;
  x_ombre=x_balle;
  y_ombre=y_balle;

  x_balle+=dx;
  if(x_balle==1) dx=1;
  else if(x_balle==78) dx=-1;
    
  y_balle+=dy;
  if(y_balle==1) dy=1;
  else if((x_balle+dx>=x_raquette)&&(x_balle+dx<=x_raquette+9)&&(y_balle==23)) dy=-1;
}

/* Score du joueur */

void score(void)
{
  if ((y_balle==1) && (temps>0))
  {
    gotoxy(1,1);
    temps--;
    printf("Score: %d",40-temps);
  }
  
}

/* Initialisation des valeurs pour recommencer une partie */

void initialisations(void)
{
  clrscr();
  x_balle=39;
  y_balle=23;
  x_raquette=35;
  dx=1;
  dy=-1;
  x_ombre=39;
  y_ombre=23;
  x_espace=39;
  y_espace=23;
  temps=40;
}

int main(void)
{
  /* Temps en ms avant le début de la partie */
  
  delay(2000);
  
  /* Suppression du curseur */
  
  _setcursortype(_NOCURSOR);

  /* Boucle de jeu */
  
  do
  {
    initialisations();
    do
    {
      raquette();
      delay(10);
      raquette();
      delay(10);
      balle();
      score();
    }

    while (y_balle<24);

    delay(2000);

    clrscr();
    gotoxy(30,12);
    printf("Voulez-vous rejouer? (O/N)");
    gotoxy(1,1);
    printf("Aquamad par Rmadmann");
    gotoxy(1,3);
    printf("RMadmann@aol.com");
    
  }
    while (toupper(getch())=='O');
    clrscr();
}

Conclusion :


Dans la prochaine mise à jour il sera possible d'enregistrer les meilleurs scores.
Ca arrive bientôt ... Patience !!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.