La carte au tresor version 0.1 [code borland c++]

Contenu du snippet

Voila un petit jeu, de chasse au tresors, je tiens a vous avertir que dans ce code il n'y a rien de pousser, que ce serait meme le contraire le code n'est pas super propre ni super optimiser.
Il se peut aussi qu'il y est encore quelques bug.

Source / Exemple :


/*

  • @Name: chasse_au_tresor.c
  • @Version: 0.1
  • @Auteur: Joel Matteotti <joel.matteotti@free.fr>
  • /
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void carte() { int Xpos=0; int Ypos=6; do { printf("%d|--|--|--|--|--|--|--|\n", Ypos); Xpos++; Ypos--; } while(Xpos != 2); do { printf("%d|--|--|--|--|--|--|--|\n", Ypos); Xpos++; Ypos--; } while(Xpos != 5); printf(" 0 1 2 3 4 5 6\n"); } void main() { char Direction; //Pour les differente position du joueur int PosX=0; int PosY=0; int NewPosX=0; int NewPosY=0; //Pour la position du tresors int PosX2=0; int PosY2=0; //Pour la position du tresor int PosTresorX=0; int PosTresorY=0; //Pour le calcul de la distance entre le joueur et le tresor int TCaseX=0; int TCaseY=0; //Un petit leur pour trompe le joueur int XLeur; /*Totacl de la case*/ int x2; int y2; int x; clrscr(); //Efface l'ecran carte(); //Maintenant on va placer le tresor sur la carte (au hasard) randomize(); //Position X du tresor for(x2=0; x2 < 1; x2++) PosTresorX=rand()%6; //Psition Y du tresor for(x=0; x<1;x++) PosTresorY=rand()%6; //Calcul est affectation de la position du leur XLeur = (PosTresorX * PosTresorY); printf("\nVous ete a la position X:%d Y:%d", PosX2, PosY2); //Voila maintenant que nous avont tous initialiser nous allons pouvoir commencer le jeu: //Gestion du deplacement du joueur do { printf("\nAttente de votre choix de prise de direction..."); Direction = getch(); switch(Direction) { case 56: NewPosY++; PosY++; TCaseY = PosTresorY - NewPosY; printf("Votre nouvelle position Y=%d", NewPosY); break; case 50: if((PosY <= 0) || (NewPosY <= 0)) { printf("\nCe deplacement n'est pas autorise a la position 0\n"); getch(); } else { NewPosY--; TCaseY = PosTresorY - NewPosY; printf ("\nNouvelle position Y=%d\n", NewPosY); } break; case 54: NewPosX++; PosX++; TCaseX = PosTresorX - NewPosX; printf("\nNouvelle position X=%d\n", NewPosX); break; case 52: if((PosX <= 0) || (NewPosX <= 0)) { printf("\nCe deplacement n'est pas autorise a la position 0\n"); getch(); } else { NewPosX--; TCaseX = PosTresorX - NewPosX; printf("\nNouvelle position X=%d\n", NewPosX); } break; default: getch(); } //Gestion du Leur if((NewPosX + NewPosY) == (XLeur)) { printf("\nCe n'est pas le bon tresor\n"); } if((TCaseX == 0) && (TCaseY ==0) && (NewPosX != XLeur)) { printf("\nBravo vous avez trouver le tresor\n"); } //Redissine la carte carte(); printf("\nNouvelle position: X=%d Y=%d", NewPosX, NewPosY); printf("\nLe tresor est encore a X=%d de distance", TCaseX); printf("\nLe tresor est encore a Y=%d de distance", TCaseY); } while((NewPosX + NewPosY) != (PosTresorX)); //Quand le joeur a trouver le tresor le jeu se termine printf("\n\nBravo:\n"); printf("La position X du tresor est: %d", PosTresorX); printf("\nLa position Y du tresor est: %d", PosTresorY); }

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.