Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void init_carte (int carte [20] [20]){
- int i,j;
- for (i = 0 ; i < 20 ; i ++) {
- for (j = 0 ; j < 20 ; j ++){
- carte [i][j]=0;
- if (j%2==0){ carte [i][j]=1;}
- //autres
- if (i-j==4){carte[i][j]=7;}
- if (i+2*j==3){carte[i][j]=8;}
- //obstacles
- if (i==j*2-2){carte[i][j]=2;}
- else if (i==j*4+5){carte [i][j]=3;}
- //objets
- if (i==15 && j==20){carte [i][j]=4;}
- if (i==7){carte [i][j]=5;}
- if (i==10 && j==10){carte [i][j]=6;}
- }}
- }
- void aff_carte ( int carte [20][20], int perso [2]){
- int i, j;
- for (i = 0 ; i < 20 ; i = i + 1) {
- for (j = 0 ; j < 20 ; j = j + 1) {
- if(i==perso[0] && j==perso[1]){
- printf ("X ");}
- else { printf ("%d ", carte [i][j]) ;}
- }
- printf ("\n");
- }
- }
- //déplacement du personnage
- int deplacement(int carte[20][20],int perso[2]){
- int v;
- int i,j;
- perso [0]==0;
- perso [1]==0;
- int a;
- printf("Entrez un déplacement(4:←/8:↑/6:→/2:↓)ou autre pour quitter\n");
- do {
- if ( (carte[perso[0]][perso[1]]==2) && (carte[perso[0]][perso[1]]==3) ){
- printf("Un obsacle vous barre le chemin");}
- scanf("%d",&a);
- switch (a){
- case 4:if (perso[1]>0 ){perso[1]=perso[1]-1; //gauche
- }else {printf ("Vous ne pouvez pas aller plus loin\n");}
- break;
- case 6:if (perso[1]<19){perso[1]=perso[1]+1; //droite
- }else {printf ("Vous ne pouvez pas aller plus loin\n");}
- break;
- case 8:if (perso[0]>0){perso[0]=perso[0]-1; //haut
- }else {printf ("Vous ne pouvez pas aller plus loin\n");}
- break;
- case 2:if (perso[0]<19 ){perso[0]=perso[0]+1; //bas
- }else {printf ("Vous ne pouvez pas aller plus loin\n");}
- break;
- }}while (a==2 && a== 4 && a==6 && a==8 );
- return (carte[perso[0]][perso[1]]);}
- //fin déplacement du personnage
- void compteur(int piece, int vie, int clef, int carte[20][20], int perso[2]){
- int i ;
- int j ;
- if ( carte[perso[0]][perso[1]] == 5 ){
- piece = piece + 1 ; /*evolution du nombre de piece*/
- carte[perso[0]][perso[1]] = 0 ;
- }
- else if ( carte[perso[0]][perso[1]] == 8 ){
- vie = vie - 10 ; /*evolution du nombre de vie*/
- carte[perso[0]][perso[1]] = 0 ;
- }
- else if ( carte[perso[0]][perso[1]] == 4 ){
- clef = clef + 1 ; /*evolution du nombre de clef (max =1=*/
- carte[perso[0]][perso[1]] = 0 ;
- }
- else if ( carte[perso[0]][perso[1]] == 6 ){
- if( clef == 1 ){ /*condition d'ouverture du cadenas (à savoir, avoir une clef*/
- piece = piece + 3 ;
- carte[perso[0]][perso[1]] = 0 ;
- }
- else{
- printf("Il vous manque une clé\n") ; /*cas où le joueur n'a pas de clef*/
- }
- }
- else if ( carte[perso[0]][perso[1]] == 7 ){
- vie = vie - 5 ; /*piege et ses consequences*/
- carte[i][j] = 0 ;}
- else if( (carte[perso[0]][perso[1]] == 3 ) && (carte[perso[0]][perso[1]] == 2 )){ /*rencontre d'un obstacle*/
- printf("Dépalcement impossible\n") ;
- }
- else {
- carte[perso[0]][perso[1]] = 0 ;
- }
- printf("Vie = %d Piece = %d Clef = %d\n", vie, piece, clef) ; /*compteur de vie, piece et clef*/
- }
- #include <stdio.h>
- int main(){
- int a;
- int carte [20][20];
- int perso [2]={0};
- int piece,vie,clef;
- init_carte (carte);
- aff_carte(carte,perso);
- compteur(piece,vie,clef,carte,perso);
- do {deplacement(carte,perso);
- aff_carte(carte,perso);
- compteur(piece,vie,clef,carte,perso);
- }
- while (a!=4 && a!= 6 && a!=8 && a!=2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement