Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. void init_carte (int carte [20] [20]){
  4. int i,j;
  5. for (i = 0 ; i < 20 ; i ++) {
  6. for (j = 0 ; j < 20 ; j ++){
  7. carte [i][j]=0;
  8.  
  9. if (j%2==0){ carte [i][j]=1;}
  10. //autres
  11. if (i-j==4){carte[i][j]=7;}
  12. if (i+2*j==3){carte[i][j]=8;}
  13.  
  14. //obstacles
  15. if (i==j*2-2){carte[i][j]=2;}
  16. else if (i==j*4+5){carte [i][j]=3;}
  17. //objets
  18. if (i==15 && j==20){carte [i][j]=4;}
  19. if (i==7){carte [i][j]=5;}
  20. if (i==10 && j==10){carte [i][j]=6;}
  21.  
  22. }}
  23. }
  24.  
  25. void aff_carte ( int carte [20][20], int perso [2]){
  26. int i, j;
  27. for (i = 0 ; i < 20 ; i = i + 1) {
  28. for (j = 0 ; j < 20 ; j = j + 1) {
  29. if(i==perso[0] && j==perso[1]){
  30. printf ("X ");}
  31. else { printf ("%d ", carte [i][j]) ;}
  32. }
  33. printf ("\n");
  34. }
  35. }
  36.  
  37. //déplacement du personnage
  38. int deplacement(int carte[20][20],int perso[2]){
  39. int v;
  40. int i,j;
  41. perso [0]==0;
  42. perso [1]==0;
  43. int a;
  44. printf("Entrez un déplacement(4:←/8:↑/6:→/2:↓)ou autre pour quitter\n");
  45. do {
  46. if ( (carte[perso[0]][perso[1]]==2) && (carte[perso[0]][perso[1]]==3) ){
  47. printf("Un obsacle vous barre le chemin");}
  48. scanf("%d",&a);
  49. switch (a){
  50. case 4:if (perso[1]>0 ){perso[1]=perso[1]-1; //gauche
  51.  
  52. }else {printf ("Vous ne pouvez pas aller plus loin\n");}
  53. break;
  54. case 6:if (perso[1]<19){perso[1]=perso[1]+1; //droite
  55.  
  56. }else {printf ("Vous ne pouvez pas aller plus loin\n");}
  57. break;
  58. case 8:if (perso[0]>0){perso[0]=perso[0]-1; //haut
  59.  
  60. }else {printf ("Vous ne pouvez pas aller plus loin\n");}
  61. break;
  62. case 2:if (perso[0]<19 ){perso[0]=perso[0]+1; //bas
  63.  
  64. }else {printf ("Vous ne pouvez pas aller plus loin\n");}
  65. break;
  66. }}while (a==2 && a== 4 && a==6 && a==8 );
  67.  
  68.  
  69.  
  70.  
  71. return (carte[perso[0]][perso[1]]);}
  72. //fin déplacement du personnage
  73.  
  74. void compteur(int piece, int vie, int clef, int carte[20][20], int perso[2]){
  75. int i ;
  76. int j ;
  77.  
  78. if ( carte[perso[0]][perso[1]] == 5 ){
  79. piece = piece + 1 ; /*evolution du nombre de piece*/
  80. carte[perso[0]][perso[1]] = 0 ;
  81. }
  82. else if ( carte[perso[0]][perso[1]] == 8 ){
  83. vie = vie - 10 ; /*evolution du nombre de vie*/
  84. carte[perso[0]][perso[1]] = 0 ;
  85. }
  86. else if ( carte[perso[0]][perso[1]] == 4 ){
  87. clef = clef + 1 ; /*evolution du nombre de clef (max =1=*/
  88. carte[perso[0]][perso[1]] = 0 ;
  89. }
  90. else if ( carte[perso[0]][perso[1]] == 6 ){
  91. if( clef == 1 ){ /*condition d'ouverture du cadenas (à savoir, avoir une clef*/
  92. piece = piece + 3 ;
  93. carte[perso[0]][perso[1]] = 0 ;
  94. }
  95. else{
  96. printf("Il vous manque une clé\n") ; /*cas où le joueur n'a pas de clef*/
  97. }
  98. }
  99. else if ( carte[perso[0]][perso[1]] == 7 ){
  100. vie = vie - 5 ; /*piege et ses consequences*/
  101. carte[i][j] = 0 ;}
  102. else if( (carte[perso[0]][perso[1]] == 3 ) && (carte[perso[0]][perso[1]] == 2 )){ /*rencontre d'un obstacle*/
  103. printf("Dépalcement impossible\n") ;
  104. }
  105. else {
  106. carte[perso[0]][perso[1]] = 0 ;
  107. }
  108. printf("Vie = %d Piece = %d Clef = %d\n", vie, piece, clef) ; /*compteur de vie, piece et clef*/
  109. }
  110.  
  111.  
  112.  
  113.  
  114.  
  115. #include <stdio.h>
  116. int main(){
  117. int a;
  118. int carte [20][20];
  119. int perso [2]={0};
  120. int piece,vie,clef;
  121. init_carte (carte);
  122. aff_carte(carte,perso);
  123. compteur(piece,vie,clef,carte,perso);
  124. do {deplacement(carte,perso);
  125. aff_carte(carte,perso);
  126. compteur(piece,vie,clef,carte,perso);
  127. }
  128. while (a!=4 && a!= 6 && a!=8 && a!=2);
  129.  
  130. return 0;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement