Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.22 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <cstdio>
  4. #include <cstdlib>
  5.  
  6. int grille[4][4];
  7.  
  8. char *affichage(int n);
  9. void afficherGrille();
  10. void modifierGrille();
  11. int verificationhauteur();
  12. int verificationbas();
  13. int verificationgauche();
  14. int verificationdroit();
  15.  
  16. using namespace std;
  17.  
  18. int main()
  19. {
  20. char commande;
  21. cout << "Bienvenue sur le jeu 2048" << endl << endl;
  22.  
  23. for (int i=0; i<4; i++)
  24. {
  25. for(int j=0; j<4; j++)
  26. {
  27. grille[i][j]=0;
  28. }
  29. }
  30. grille[4][4] = 2;
  31.  
  32. modifierGrille();
  33.  
  34. return 0;
  35. }
  36.  
  37. char *affichage(int n)
  38. {
  39. char *ret = (char*)malloc(10);
  40. if (n == 0)
  41. {
  42. sprintf(ret, " 0 ");
  43. }
  44. if (n == 2)
  45. {
  46. sprintf(ret, " 2 ");
  47. }
  48. if (n == 4)
  49. {
  50. sprintf(ret, " 4 ");
  51. }
  52. if (n == 8)
  53. {
  54. sprintf(ret, " 8 ");
  55. }
  56. if (n == 16)
  57. {
  58. sprintf(ret, " 16 ");
  59. }
  60. if (n == 32)
  61. {
  62. sprintf(ret, " 32 ");
  63. }
  64. if (n == 64)
  65. {
  66. sprintf(ret, " 64 ");
  67. }
  68. if (n == 128)
  69. {
  70. sprintf(ret, " 128 ");
  71. }
  72. if (n == 256)
  73. {
  74. sprintf(ret, " 256 ");
  75. }
  76. if (n == 512)
  77. {
  78. sprintf(ret, " 512 ");
  79. }
  80. if (n == 1024)
  81. {
  82. sprintf(ret, " 1024");
  83. }
  84. if (n == 2048)
  85. {
  86. sprintf(ret, " 2048");
  87. }
  88.  
  89. return ret;
  90. }
  91.  
  92. void afficherGrille()
  93. {
  94. cout << "*************************" << endl;
  95. cout << "*" << affichage(grille[1][1]) << "*" << affichage(grille[1][2]) << "*" << affichage(grille[1][3]) << "*" << affichage(grille[1][4]) << "*" << endl;
  96. cout << "*************************" << endl;
  97. cout << "*" << affichage(grille[2][1]) << "*" << affichage(grille[2][2]) << "*" << affichage(grille[2][3]) << "*" << affichage(grille[2][4]) << "*" << endl;
  98. cout << "*************************" << endl;
  99. cout << "*" << affichage(grille[3][1]) << "*" << affichage(grille[3][2]) << "*" << affichage(grille[3][3]) << "*" << affichage(grille[3][4]) << "*" << endl;
  100. cout << "*************************" << endl;
  101. cout << "*" << affichage(grille[4][1]) << "*" << affichage(grille[4][2]) << "*" << affichage(grille[4][3]) << "*" << affichage(grille[4][4]) << "*" << endl;
  102. cout << "*************************" << endl;
  103. }
  104.  
  105. void modifierGrille()
  106. {
  107. afficherGrille();
  108. char p;
  109. while ( 1 )
  110. {
  111. cout<<"Sens de mouvement ?"<<endl;
  112.  
  113. cin>>p;
  114.  
  115. if (p == 'h')
  116. {
  117. verificationhauteur();
  118. afficherGrille();
  119. }
  120. else if (p == 'b')
  121. {
  122. verificationbas();
  123. afficherGrille();
  124. }
  125. else if (p=='g')
  126. {
  127. verificationgauche();
  128. afficherGrille();
  129. }
  130. else if (p=='d')
  131. {
  132. verificationdroit();
  133. afficherGrille();
  134. }
  135. else
  136. {
  137. cout << "rentre h / b / g / d" << endl;
  138. }
  139.  
  140. }
  141.  
  142. }
  143.  
  144. int verificationhauteur()
  145. {
  146. for (int j=1;j<=4;j++)
  147. {
  148. //for (int i=0;i<3;i++)
  149. //{
  150. if (grille[1][j] == grille[2][j]){
  151. grille[1][j] = grille[2][j]*2;
  152. grille[2][j] = 0;}
  153. if (grille[2][j] == grille[3][j]){
  154. grille[2][j] = grille[3][j]*2;
  155. grille[3][j] = 0;}
  156. if (grille[3][j] == grille[4][j]){
  157. grille[3][j] = grille[4][j]*2;
  158. grille[4][j] = 0;}
  159. if (grille[4][j] != 0 && grille[3][j]==0){
  160. grille[3][j]=grille[4][j];
  161. grille[4][j]=0;}
  162. if (grille[3][j] != 0 && grille[2][j]==0){
  163. grille[2][j]=grille[3][j];
  164. grille[3][j]=0;}
  165. if (grille[2][j] != 0 && grille[1][j]==0){
  166. grille[1][j]=grille[2][j];
  167. grille[2][j]=0;}
  168. if (grille[4][j] != 0 && grille[3][j]==0){
  169. grille[3][j]=grille[4][j];
  170. grille[4][j]=0;}
  171. if (grille[3][j] != 0 && grille[2][j]==0){
  172. grille[2][j]=grille[3][j];
  173. grille[3][j]=0;}
  174. if (grille[2][j] != 0 && grille[1][j]==0){
  175. grille[1][j]=grille[2][j];
  176. grille[2][j]=0;}
  177. // }
  178. }
  179. }
  180.  
  181. int verificationbas()
  182. {
  183. for (int j=0;j<=4;j++)
  184. {
  185. //for (int i=0;i<3;i++)
  186. //{
  187. if (grille[4][j] == grille[3][j]){
  188. grille[4][j] = grille[3][j]*2;
  189. grille[3][j] = 0;}
  190. if (grille[3][j] == grille[2][j]){
  191. grille[3][j] = grille[2][j]*2;
  192. grille[2][j] = 0;}
  193. if (grille[2][j] == grille[1][j]){
  194. grille[2][j] = grille[1][j]*2;
  195. grille[1][j] = 0;}
  196. if (grille[1][j] != 0 && grille[2][j]==0){
  197. grille[2][j]=grille[1][j];
  198. grille[1][j]=0;}
  199. if (grille[2][j] != 0 && grille[3][j]==0){
  200. grille[3][j]=grille[2][j];
  201. grille[2][j]=0;}
  202. if (grille[3][j] != 0 && grille[4][j]==0){
  203. grille[4][j]=grille[3][j];
  204. grille[3][j]=0;}
  205. if (grille[1][j] != 0 && grille[2][j]==0){
  206. grille[2][j]=grille[1][j];
  207. grille[1][j]=0;}
  208. if (grille[2][j] != 0 && grille[3][j]==0){
  209. grille[3][j]=grille[2][j];
  210. grille[2][j]=0;}
  211. if (grille[3][j] != 0 && grille[4][j]==0){
  212. grille[4][j]=grille[3][j];
  213. grille[3][j]=0;}
  214. // }
  215. }
  216. }
  217.  
  218. int verificationgauche()
  219. {
  220. for (int j=0;j<=4;j++)
  221. {
  222. //for (int i=0;i<3;i++)
  223. //{
  224. if (grille[j][1] == grille[j][2]){
  225. grille[j][1] = grille[j][2]*2;
  226. grille[j][2] = 0;}
  227. if (grille[j][2] == grille[j][3]){
  228. grille[j][2] = grille[j][3]*2;
  229. grille[j][3] = 0;}
  230. if (grille[j][3] == grille[j][4]){
  231. grille[j][3] = grille[j][4]*2;
  232. grille[j][4] = 0;}
  233. if (grille[j][4] != 0 && grille[j][3]==0){
  234. grille[j][3]=grille[j][4];
  235. grille[j][4]=0;}
  236. if (grille[j][3] != 0 && grille[j][2]==0){
  237. grille[j][2]=grille[j][3];
  238. grille[j][3]=0;}
  239. if (grille[j][2] != 0 && grille[j][1]==0){
  240. grille[j][1]=grille[j][2];
  241. grille[j][2]=0;}
  242. if (grille[j][4] != 0 && grille[j][3]==0){
  243. grille[j][3]=grille[j][4];
  244. grille[j][4]=0;}
  245. if (grille[j][3] != 0 && grille[j][2]==0){
  246. grille[j][2]=grille[j][3];
  247. grille[j][3]=0;}
  248. if (grille[j][2] != 0 && grille[j][1]==0){
  249. grille[j][1]=grille[j][2];
  250. grille[j][2]=0;}
  251. // }
  252. }
  253. }
  254.  
  255. int verificationdroit()
  256. {
  257. for (int j=0;j<=4;j++)
  258. {
  259. //for (int i=0;i<3;i++)
  260. //{
  261. if (grille[j][4] == grille[j][3]){
  262. grille[j][4] = grille[j][3]*2;
  263. grille[j][3] = 0;}
  264. if (grille[j][3] == grille[j][2]){
  265. grille[j][3] = grille[j][2]*2;
  266. grille[j][2] = 0;}
  267. if (grille[j][2] == grille[j][1]){
  268. grille[j][2] = grille[j][1]*2;
  269. grille[j][1] = 0;}
  270. if (grille[j][1] != 0 && grille[j][2]==0){
  271. grille[j][2]=grille[j][1];
  272. grille[j][1]=0;}
  273. if (grille[j][2] != 0 && grille[j][3]==0){
  274. grille[j][3]=grille[j][2];
  275. grille[j][2]=0;}
  276. if (grille[j][3] != 0 && grille[j][4]==0){
  277. grille[j][4]=grille[j][3];
  278. grille[j][3]=0;}
  279. if (grille[j][1] != 0 && grille[j][2]==0){
  280. grille[j][2]=grille[j][1];
  281. grille[j][1]=0;}
  282. if (grille[j][2] != 0 && grille[j][3]==0){
  283. grille[j][3]=grille[j][2];
  284. grille[j][2]=0;}
  285. if (grille[j][3] != 0 && grille[j][4]==0){
  286. grille[j][4]=grille[j][3];
  287. grille[j][3]=0;}
  288. // }
  289. }
  290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement