Advertisement
Guest User

bull124

a guest
Jan 27th, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <SDL.h>
  4.  
  5. void moveking(int *Carres,int i1,int j1,int i2,int j2){
  6.  
  7. if(i1==i2){if(j1<j2&&(*(Carres+7*i2+j2))==0){
  8. (*(Carres+i2*7+j2))=(*(Carres+7*i1+j1));
  9. (*(Carres+i1*7+j1))=0;}
  10. else if(j1>j2&&(*(Carres+7*i1+j1))==0){
  11. (*(Carres+i2*7+j2))=(*(Carres+7*i1+j1));
  12. (*(Carres+i1*7+j1))=0;}
  13. else if(j1==j2){if(i1<i2&&(*(Carres+7*i2+j2))==0){
  14. (*(Carres+i2*7+j2))=(*(Carres+7*i1+j1));
  15. (*(Carres+i1*7+j1))=0;}
  16. else if(i1>i2&&(*(Carres+7*i1+j1))==0){
  17. (*(Carres+i2*7+j2))=(*(Carres+7*i1+j1));
  18. (*(Carres+i1*7+j1))=0;}
  19.  
  20. }}}
  21. void HoriztoVert(int *RectHoriz,int *RectVert,int i1,int j1,int i2,int j2){
  22.  
  23. if((*(RectVert+7*j2+i2))==0){
  24. (*(RectVert+7*j2+i2))=(*(RectHoriz+i1*7+j1));
  25. (*(RectHoriz+i1*7+j1))=0;
  26. }
  27. }
  28. void VerttoHoriz(int *RectHoriz,int *RectVert,int i1,int j1,int i2,int j2){
  29.  
  30. void moveHorizo(int *RectHoriz,int i1,int j1,int i2,int j2){
  31. }
  32.  
  33. void moveVert(int *RectVert,int i1,int j1,int i2,int j2){}
  34. void ismat(int *Carres,int *RectHoriz,int *RectVert){
  35. for(int i=0;i<7;i++){
  36. for(int j=0;j<7;j++){
  37. int w=0,b=0;
  38. if((*(Carres+i*7+j))==1){
  39. if((*(RectVert+i+j*7))==1||(*(RectVert+i+j*7))==3){
  40. w++;
  41. }else if((*(RectVert+i+j*7))==2||(*(RectVert+i+j*7))==4){
  42. b++;
  43. }
  44.  
  45. if((*(RectHoriz+i*7+j))==1||(*(RectHoriz+(i+1)*7+j))==3){
  46. w++;
  47. }else if((*(RectHoriz+i*7+j))==2||(*(RectHoriz+(i+1)*7+j))==4){ //w 2 4 b 1 3
  48. b++;
  49. }}
  50. if((*(Carres+i*7+j))==2){
  51. if((*(RectVert+i+j*7))==1||(*(RectVert+i+j*7))==3){
  52. w++;
  53. }else if((*(RectVert+i+j*7))==2||(*(RectVert+i+j*7))==4){
  54. b++;
  55. }
  56.  
  57. if((*(RectHoriz+i*7+j))==1||(*(RectHoriz+(i+1)*7+j))==3){
  58. w++;
  59. }else if((*(RectHoriz+i*7+j))==2||(*(RectHoriz+(i+1)*7+j))==4){ //w 2 4 b 1 3
  60. b++;
  61. }}
  62. if((w+b==4)&&(1<w)&&(1<b)){
  63. printf("le jouer naiqueur est %d",((*(Carres+i*7+j))));
  64. break;
  65. }
  66. }
  67. }}
  68.  
  69. if((*(RectHoriz+7*i2+j2))==0){
  70. (*(RectHoriz+7*i2+j2))=(*(RectVert+j1*7+i1));
  71. (*(RectVert+j1*7+i1))=0;}}
  72.  
  73. int *ClickPositionDetection(int x,int y){
  74. int *detected=malloc(5*sizeof(int));//I J C V H
  75. (*(detected))=-1 ;(*(detected+1))=-1 ;(*(detected+2))=-1 ;(*(detected+3))=-1 ;(*(detected+4))=-1;
  76.  
  77. if (((y<=30)&&(y>=10))){if (((x>=20)&&(x<=110))){(*(detected))=0 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  78. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  79. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  80. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  81. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  82. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  83. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  84. }
  85.  
  86. else if(30<y&&y<120){
  87. if(0<x&&x<20){ (*(detected))=0 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  88. else if(20<x&&x<110){(*(detected))=0 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  89. else if(110<x&&x<130){(*(detected))=0 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  90. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  91. else if(220<x&&x<240){(*(detected))=0 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  92. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  93. else if(330<x&&x<350){(*(detected))=0 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  94. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  95. else if(440<x&&x<460){(*(detected))=0 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  96. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  97. else if(550<x&&x<570){(*(detected))=0 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  98. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  99. else if(660<x&&x<680){(*(detected))=0 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  100. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=0 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  101. else if(770<x&&x<790){(*(detected))=0 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  102.  
  103. }
  104. else if (((120<y)&&(y<140))){
  105. if((x>=20)&&(x<=110)){(*(detected))=0 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  106. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  107. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  108. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  109. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  110. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  111. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  112. }
  113.  
  114. else if(140<y&&y<230){
  115. if(0<x&&x<20){ (*(detected))=1 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  116. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  117. else if(110<x&&x<130){(*(detected))=1 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  118. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  119. else if(220<x&&x<240){(*(detected))=1 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  120. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  121. else if(330<x&&x<350){(*(detected))=1 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  122. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  123. else if(440<x&&x<460){(*(detected))=1 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  124. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  125. else if(550<x&&x<570){(*(detected))=1 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  126. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  127. else if(660<x&&x<680){(*(detected))=1 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  128. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=1 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  129. else if(770<x&&x<790){(*(detected))=1 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  130. }
  131. else if ((230<y&&(250>y))){if((20<x)&&(x<110)) {(*(detected))=0;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  132. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  133. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  134. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  135. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  136. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  137. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  138. }
  139.  
  140. else if(250<y&&y<340){
  141. if(0<x&&x<20){ (*(detected))=2 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  142. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  143. else if(110<x&&x<130){(*(detected))=2 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  144. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  145. else if(220<x&&x<240){(*(detected))=2 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  146. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  147. else if(330<x&&x<350){(*(detected))=2 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  148. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  149. else if(440<x&&x<460){(*(detected))=2 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  150. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  151. else if(550<x&&x<570){(*(detected))=2 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  152. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  153. else if(660<x&&x<680){(*(detected))=2 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  154. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=2 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  155. else if(770<x&&x<790){(*(detected))=2 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  156.  
  157. }
  158. else if (340<y&&360>y){if (x>=20&&x<=110){ (*(detected))=0;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  159. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  160. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  161. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  162. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  163. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  164. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  165. }
  166.  
  167. else if(360<y&&y<450){
  168. if(0<x&&x<20){ (*(detected))=3 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  169. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  170. else if(110<x&&x<130){(*(detected))=3 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  171. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  172. else if(220<x&&x<240){(*(detected))=3 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  173. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  174. else if(330<x&&x<350){(*(detected))=3 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  175. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  176. else if(440<x&&x<460){(*(detected))=3 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  177. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  178. else if(550<x&&x<570){(*(detected))=3 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  179. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  180. else if(660<x&&x<680){(*(detected))=3 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  181. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=3 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  182. else if(770<x&&x<790){(*(detected))=3 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  183.  
  184. }
  185. else if (((450<y)&&(y<470))){if (((x>=20)&&(x<=110))){(*(detected))=0 ;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  186. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  187. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  188. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  189. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  190. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  191. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  192. }
  193.  
  194. else if(470<y&&y<560){
  195. if(0<x&&x<20){ (*(detected))=4 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  196. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  197. else if(110<x&&x<130){(*(detected))=4 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  198. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  199. else if(220<x&&x<240){(*(detected))=4 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  200. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  201. else if(330<x&&x<350){(*(detected))=4 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  202. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  203. else if(440<x&&x<460){(*(detected))=4 ;(*(detected+1))=4 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  204. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  205. else if(550<x&&x<570){(*(detected))=4 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  206. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  207. else if(660<x&&x<680){(*(detected))=4 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  208. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=4 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  209. else if(770<x&&x<790){(*(detected))=4 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  210.  
  211. }
  212. else if (((560<y)&&(y<580)))
  213. {if(x>=20&&x<=110){(*(detected))=0;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  214. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  215. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  216. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  217. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  218. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  219. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  220. }
  221.  
  222. else if(580<y&&y<670){
  223. if(0<x&&x<20){ (*(detected))=5 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  224. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  225. else if(110<x&&x<130){(*(detected))=5 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  226. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  227. else if(220<x&&x<240){(*(detected))=5 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  228. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  229. else if(330<x&&x<350){(*(detected))=5 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  230. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  231. else if(440<x&&x<460){(*(detected))=5 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  232. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  233. else if(550<x&&x<570){(*(detected))=5 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  234. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  235. else if(660<x&&x<680){(*(detected))=5 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  236. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=5 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  237. else if(770<x&&x<790){(*(detected))=5 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  238.  
  239. }
  240. else if (((670<y)&&(y<690))){if (((x>=20)&&(x<=110))){(*(detected))=0 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  241. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  242. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  243. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  244. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  245. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  246. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  247. }
  248.  
  249. else if(690<y&&y<780){
  250. if(0<x&&x<20){ (*(detected))=6 ;(*(detected+1))=0 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  251. else if(20<x&&x<110){ (*(detected))=0 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  252. else if(110<x&&x<130){(*(detected))=6 ;(*(detected+1))=1 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  253. else if(130<x&&x<220){(*(detected))=1 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  254. else if(220<x&&x<240){(*(detected))=6 ;(*(detected+1))=2 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  255. else if(240<x&&x<330){(*(detected))=2 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  256. else if(330<x&&x<350){(*(detected))=6 ;(*(detected+1))=3 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  257. else if(350<x&&x<440){(*(detected))=3 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  258. else if(440<x&&x<460){(*(detected))=6 ;(*(detected+1))=4 ;(*(detected+2))=0;(*(detected+3))=1 ;(*(detected+4))=0;}
  259. else if(460<x&&x<550){(*(detected))=4 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  260. else if(550<x&&x<570){(*(detected))=6 ;(*(detected+1))=5 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  261. else if(570<x&&x<660){(*(detected))=5 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  262. else if(660<x&&x<680){(*(detected))=6 ;(*(detected+1))=6 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  263. else if(680<x&&x<770){(*(detected))=6 ;(*(detected+1))=6 ;(*(detected+2))=1 ;(*(detected+3))=0 ;(*(detected+4))=0;}
  264. else if(770<x&&x<790){(*(detected))=6 ;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=1 ;(*(detected+4))=0;}
  265. }
  266. else if (((780<y)&&(y<800)))
  267. {if(x>20&&x<110) {(*(detected))=0;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  268. else if(130<x&&x<220){(*(detected))=1;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  269. else if(240<x&&x<330){(*(detected))=2;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  270. else if(350<x&&x<440){(*(detected))=3;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  271. else if(460<x&&x<550){(*(detected))=4;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  272. else if(570<x&&x<660){(*(detected))=5;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  273. else if(680<x&&x<770){(*(detected))=6;(*(detected+1))=7 ;(*(detected+2))=0 ;(*(detected+3))=0 ;(*(detected+4))=1;}
  274. }
  275.  
  276.  
  277. return detected;}
  278.  
  279. int e1;
  280. int Carres[7][7]={
  281. {0,0,0,0,0,0,0},
  282. {0,0,0,0,0,0,0},
  283. {0,0,0,0,0,0,0},
  284. {1,0,0,0,0,0,2},
  285. {0,0,0,0,0,0,0},
  286. {0,0,0,0,0,0,0},
  287. {0,0,0,0,0,0,0}};
  288. int RectHoriz[7][8]={
  289. {0,1,0,0,0,0,2,0},
  290. {0,1,0,0,0,0,2,0},
  291. {0,1,0,0,0,0,2,0},
  292. {0,0,0,0,0,0,2,0},
  293. {0,1,0,0,0,0,2,0},
  294. {0,1,0,0,0,0,2,0},
  295. {0,1,0,0,0,0,2,0}};
  296. int RectVert[7][8]={
  297. {3,3,3,3,3,3,3,3},
  298. {1,1,1,1,1,1,1,1},
  299. {0,0,0,0,0,0,0},
  300. {0,0,0,0,0,0,0},
  301. {0,0,0,0,0,0,0},
  302. {2,2,2,2,2,2,2,2},
  303. {4,4,4,4,4,4,4,4}};
  304. int main(int argc, char* args[])
  305. {
  306.  
  307. SDL_Init(SDL_INIT_VIDEO);
  308.  
  309. SDL_Window *Window= SDL_CreateWindow("BULLTRICKER", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 810, SDL_WINDOW_OPENGL);
  310. int * pCarres=&Carres;
  311. int running=1;
  312.  
  313. SDL_Renderer *renderer= SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
  314.  
  315. SDL_Event event;
  316.  
  317. while (running)
  318. {
  319. while(SDL_PollEvent(&event))
  320. {
  321. if (event.type==SDL_QUIT)
  322. {
  323. running=0;
  324. }
  325. }
  326. SDL_Rect BoardSquareMatrix[7][7];
  327. SDL_Rect BoardHorizontalRectMatrix[7][8];
  328. SDL_Rect BoardVerticalRectMatrix[8][7];
  329. SDL_Rect SquareKingBlack;
  330. SDL_Rect SquareKingWhite;
  331. //Drawing the board
  332. SDL_SetRenderDrawColor(renderer, 239, 156, 114, 255);
  333. SDL_RenderClear(renderer);
  334. //Initialisation des Carrées
  335. for (int i=0; i<7; i++)
  336. {
  337. for (int j=0; j<7; j++)
  338. {
  339. int x=20+(i*110);
  340. int y=30+(j*110);
  341. SDL_SetRenderDrawColor(renderer,239, 156, 114,255);
  342. BoardSquareMatrix[i][j].x = x;
  343. BoardSquareMatrix[i][j].y = y;
  344. BoardSquareMatrix[i][j].w = 90;
  345. BoardSquareMatrix[i][j].h = 90;
  346. SDL_RenderFillRect(renderer, &BoardSquareMatrix[i][j]);
  347. switch (Carres[i][j])
  348. {
  349. case 1: {
  350. SDL_SetRenderDrawColor(renderer,0, 0, 0,255);
  351. SquareKingBlack.x = x+20;
  352. SquareKingBlack.y = y+20;
  353. SquareKingBlack.w = 50;
  354. SquareKingBlack.h = 50;
  355. SDL_RenderFillRect(renderer, &SquareKingBlack);
  356. } break;
  357. case 2: {
  358. SDL_SetRenderDrawColor(renderer,255, 255, 255,255);
  359. SquareKingWhite.x = x+20;
  360. SquareKingWhite.y = y+20;
  361. SquareKingWhite.w = 50;
  362. SquareKingWhite.h = 50;
  363. SDL_RenderFillRect(renderer, &SquareKingWhite);
  364. } break;
  365. }
  366.  
  367. }
  368.  
  369. }
  370. //Initialisation des Rectangles Horizontaux
  371. { for (int i=0; i<7; i++)
  372. {
  373. for (int j=0; j<8; j++)
  374. {
  375. int x=20+(i*110);
  376. int y=10+(j*110);
  377. switch (RectHoriz[i][j])
  378. {
  379. case 0:
  380. {
  381. SDL_SetRenderDrawColor(renderer, 253, 206, 138,255);
  382. BoardHorizontalRectMatrix[i][j].x = x;
  383. BoardHorizontalRectMatrix[i][j].y = y;
  384. BoardHorizontalRectMatrix[i][j].w = 90;
  385. BoardHorizontalRectMatrix[i][j].h = 20;
  386. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  387. } break;
  388. case 1:
  389. {
  390. SDL_SetRenderDrawColor(renderer, 0, 0, 0,255);
  391. BoardHorizontalRectMatrix[i][j].x = x;
  392. BoardHorizontalRectMatrix[i][j].y = y;
  393. BoardHorizontalRectMatrix[i][j].w = 90;
  394. BoardHorizontalRectMatrix[i][j].h = 20;
  395. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  396. } break;
  397. case 2:
  398. {
  399. SDL_SetRenderDrawColor(renderer, 255, 255, 255,255);
  400. BoardHorizontalRectMatrix[i][j].x = x;
  401. BoardHorizontalRectMatrix[i][j].y = y;
  402. BoardHorizontalRectMatrix[i][j].w = 90;
  403. BoardHorizontalRectMatrix[i][j].h = 20;
  404. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  405. } break;
  406. case -1:
  407. {
  408. SDL_SetRenderDrawColor(renderer, 0, 0, 0,255);
  409. BoardHorizontalRectMatrix[i][j].x = x;
  410. BoardHorizontalRectMatrix[i][j].y = y;
  411. BoardHorizontalRectMatrix[i][j].w = 90;
  412. BoardHorizontalRectMatrix[i][j].h = 20;
  413. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  414. } break;
  415. case -2:
  416. {
  417. SDL_SetRenderDrawColor(renderer, 255, 255, 255,255);
  418. BoardHorizontalRectMatrix[i][j].x = x;
  419. BoardHorizontalRectMatrix[i][j].y = y;
  420. BoardHorizontalRectMatrix[i][j].w = 90;
  421. BoardHorizontalRectMatrix[i][j].h = 20;
  422. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  423. } break;
  424. case 3:
  425. {
  426. SDL_SetRenderDrawColor(renderer, 97, 97, 97,255);
  427. BoardHorizontalRectMatrix[i][j].x = x;
  428. BoardHorizontalRectMatrix[i][j].y = y;
  429. BoardHorizontalRectMatrix[i][j].w = 90;
  430. BoardHorizontalRectMatrix[i][j].h = 20;
  431. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  432. } break;
  433. case 4:
  434. {
  435. SDL_SetRenderDrawColor(renderer, 194, 194, 194,255);
  436. BoardHorizontalRectMatrix[i][j].x = x;
  437. BoardHorizontalRectMatrix[i][j].y = y;
  438. BoardHorizontalRectMatrix[i][j].w = 90;
  439. BoardHorizontalRectMatrix[i][j].h = 20;
  440. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  441. } break;
  442. case 5:
  443. {
  444. SDL_SetRenderDrawColor(renderer, 11, 252, 3,255);
  445. BoardHorizontalRectMatrix[i][j].x = x;
  446. BoardHorizontalRectMatrix[i][j].y = y;
  447. BoardHorizontalRectMatrix[i][j].w = 90;
  448. BoardHorizontalRectMatrix[i][j].h = 20;
  449. SDL_RenderFillRect(renderer, &BoardHorizontalRectMatrix[i][j]);
  450. } break;
  451. }
  452.  
  453. }
  454. }
  455.  
  456. }
  457. //Initialisation des Rectangles Verticaux
  458. { for (int i=0; i<7; i++)
  459. {
  460. for (int j=0; j<8; j++)
  461. {
  462. int x=(j*110);
  463. int y=30+(i*110);
  464. switch (RectVert[i][j])
  465. {
  466. case 0:
  467. {
  468. SDL_SetRenderDrawColor(renderer, 253, 206, 138,255);
  469. BoardVerticalRectMatrix[i][j].x = x;
  470. BoardVerticalRectMatrix[i][j].y = y;
  471. BoardVerticalRectMatrix[i][j].w = 20;
  472. BoardVerticalRectMatrix[i][j].h = 90;
  473. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  474. } break;
  475. case 1:
  476. {
  477. SDL_SetRenderDrawColor(renderer, 0, 0, 0,255);
  478. BoardVerticalRectMatrix[i][j].x = x;
  479. BoardVerticalRectMatrix[i][j].y = y;
  480. BoardVerticalRectMatrix[i][j].w = 20;
  481. BoardVerticalRectMatrix[i][j].h = 90;
  482. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  483. } break;
  484. case 2:
  485. {
  486. SDL_SetRenderDrawColor(renderer, 255, 255, 255,255);
  487. BoardVerticalRectMatrix[i][j].x = x;
  488. BoardVerticalRectMatrix[i][j].y = y;
  489. BoardVerticalRectMatrix[i][j].w = 20;
  490. BoardVerticalRectMatrix[i][j].h = 90;
  491. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  492. } break;
  493. case 3:
  494. {
  495. SDL_SetRenderDrawColor(renderer, 255, 0, 0,255);
  496. BoardVerticalRectMatrix[i][j].x = x;
  497. BoardVerticalRectMatrix[i][j].y = y;
  498. BoardVerticalRectMatrix[i][j].w = 20;
  499. BoardVerticalRectMatrix[i][j].h = 90;
  500. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  501. } break;
  502. case 4:
  503. {
  504. SDL_SetRenderDrawColor(renderer, 0,0, 255,255);
  505. BoardVerticalRectMatrix[i][j].x = x;
  506. BoardVerticalRectMatrix[i][j].y = y;
  507. BoardVerticalRectMatrix[i][j].w = 20;
  508. BoardVerticalRectMatrix[i][j].h = 90;
  509. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  510. } break;
  511. case 5:
  512. {
  513. SDL_SetRenderDrawColor(renderer, 11, 252, 3,255);
  514. BoardVerticalRectMatrix[i][j].x = x;
  515. BoardVerticalRectMatrix[i][j].y = y;
  516. BoardVerticalRectMatrix[i][j].w = 20;
  517. BoardVerticalRectMatrix[i][j].h = 90;
  518. SDL_RenderFillRect(renderer, &BoardVerticalRectMatrix[i][j]);
  519. } break;
  520. }
  521.  
  522. }
  523. }
  524.  
  525. }
  526. SDL_RenderPresent(renderer);
  527. int x1,y1,x2,y2;
  528. int *result;
  529. while( SDL_PollEvent( &event ) )
  530. {
  531. e1=event.button.clicks;
  532. printf("e1=%d\n",e1);
  533. switch(event.type)
  534. { case SDL_MOUSEBUTTONDOWN:
  535. {x1=event.button.x;
  536.  
  537. printf("x1=%d\n",x1);
  538. y1=event.button.y;
  539. printf("y1=%d\n",y1);
  540. int *detected=ClickPositionDetection(x1,y1);
  541. printf("i1=%d j1=%d c1=%d v1=%d h1=%d \n",(*(detected)),(*(detected+1)),(*(detected+2)),(*(detected+3)),(*(detected+4)));}
  542.  
  543.  
  544. }}
  545.  
  546. }
  547.  
  548.  
  549.  
  550. SDL_DestroyRenderer(renderer);
  551. SDL_DestroyWindow(Window);
  552.  
  553. SDL_Quit();
  554.  
  555. return EXIT_SUCCESS;
  556. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement