Debut du jeu du serpent

Contenu du snippet

Ce n'est qu'un petit debut, mais aussi une variante du jeu serpent (pour l'instant).
Il suffit de diriger le "serpent" avec les touches directionnelles, pour quitter le jeu, tapez la lettre a.
Pour l'instant, il n'y a pas de condition pour perdre, donc le jeu est infini.
De plus, les variations de niveau ne sont pas optimisées du tout.

Voila, je pense que j'ai à peu près tout dit.
Je vous laisse tester, maintenant. Et bien sûr, j'attends vos remarques et vos suggestions avec impatience...

Source / Exemple :


#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>

#define haut 72
#define bas 80
#define gauche 75
#define droite 77

struct coord
{
int x, y;
};

coord s={10,10};
coord cible;
int niveau=10;
int touche=droite;

void genere(void)
{
randomize();
int x=random(80)+1;
int y=random(24)+1;
cible.x=x;cible.y=y;
gotoxy(cible.x,cible.y); cout<<"O";
}

void effacer(void)
{gotoxy(s.x,s.y); cout<<" ";}

void avancer(int direction)
{
switch(direction)
	{
   case haut : effacer();if (s.y>1) gotoxy(s.x,--s.y); else {s.y=24; gotoxy(s.x,s.y);} cout<<"X"; Sleep((1000/((niveau+8)/2))); break;
   case bas : effacer();if (s.y<24) gotoxy(s.x,++s.y); else {s.y=1; gotoxy(s.x,s.y);} cout<<"X"; Sleep((1000/((niveau+8)/2)));  break;
   case gauche : effacer();if (s.x>1) gotoxy(--s.x,s.y); else {s.x=80; gotoxy(s.x,s.y);} cout<<"X"; Sleep((1000/niveau)); break;
   case droite : effacer();if (s.x<80)gotoxy(++s.x,s.y); else {s.x=1; gotoxy(s.x,s.y);} cout<<"X"; Sleep((1000/niveau)); break;
   default : if (direction==97) touche=97; else touche=droite; break;
	}
}

bool manger(void)
{
return ((s.x==cible.x)&&(s.y==cible.y));
}

int main(void)
{
int temp;
bool ok=0;
genere();
gotoxy(cible.x,cible.y); cout<<"O";

do {
if (kbhit()!=0) temp=getch(); if ((temp==haut)||(temp==bas)||(temp==gauche)||(temp==droite)||(temp==97)) touche=temp; else ;
avancer(touche);
ok=manger();
if (ok==1) {genere(); !ok; niveau+=10;}
	} while (touche!=97);

gotoxy(10,10);
cout<<"Merci d'avoir tester ce jeu fait par JB...\n";
gotoxy(10,12);
cout<<"Appuyez sur une touche pour quitter...";
getch();

return 0;
}

A voir également

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.