Essam_khames

Untitled

Dec 24th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. void undo(void)
  2. {
  3. int i1,j1,i2,j2;
  4. char eaten;
  5. char piece;
  6. int checker;
  7.  
  8.  
  9.  
  10. if(turn==2)
  11. {
  12.  
  13. if(pointer1<=0){
  14. printf("No thing to undo.\nPlease play a move.");
  15. movement();
  16. return;
  17. }else{
  18.  
  19. i2=steps1[pointer1].domain1i;
  20. j2=steps1[pointer1].domain1j;
  21. i1=steps1[pointer1].domain2i;
  22. j1=steps1[pointer1].domain2j;
  23. eaten=steps1[pointer1].eaten;
  24. piece=steps1[pointer1].piece;
  25.  
  26. domain[i2][j2]=piece;
  27. domain[i1][j1]=eaten;
  28. if(domain[i1][j1]=='k')
  29. {
  30. kp1i=i2;
  31. kp1j=j2;
  32. }
  33. if(isupper(domain[i1][j1])){
  34. number_killed2--;}
  35. pointer1--;
  36. }
  37. blackandwhite(i1,j1);
  38.  
  39. }
  40. else
  41. {
  42.  
  43. if(pointer2<=0){
  44. printf("No thing to undo.\nPlease play a move.");
  45. movement();
  46. return;
  47. }else{
  48.  
  49. i2=steps2[pointer2].domain1i;
  50. j2=steps2[pointer2].domain1j;
  51. i1=steps2[pointer2].domain2i;
  52. j1=steps2[pointer2].domain2j;
  53. eaten=steps2[pointer2].eaten;
  54. piece=steps2[pointer2].piece;
  55. domain[i2][j2]=piece;
  56. domain[i1][j1]=eaten;
  57. if(domain[i1][j1]=='K')
  58. {
  59. kp2i=i2;
  60. kp2j=j2;
  61. }
  62. if(islower(domain[i1][j1])){
  63. number_killed1--;}
  64. }
  65. blackandwhite(i1,j1);
  66. pointer2--;
  67. }
  68.  
  69. }
  70. void redo(void)
  71. {
  72. int i1,j1,i2,j2;
  73. char eaten,piece;
  74. if(turn==1)
  75. {
  76. if(pointer1==counter_steps1)
  77. {
  78. printf("You can't re-do.\nPlease play a move.");
  79. movement();
  80. return;
  81. }
  82. else
  83. {
  84. pointer1++;
  85. i1=steps1[pointer1].domain1i;
  86. j1=steps1[pointer1].domain1j;
  87. i2=steps1[pointer1].domain2i;
  88. j2=steps1[pointer1].domain2j;
  89. eaten=steps1[pointer1].eaten;
  90. piece=steps1[pointer1].piece;
  91.  
  92. if(isupper(domain[i2][j2])){
  93.  
  94. killed2[number_killed2]=eaten;
  95. number_killed2++;
  96. }
  97.  
  98.  
  99. if(domain[i1][j1]=='p' && i2==7)
  100. {
  101. premote(&domain[i1][j1]);
  102. }
  103. domain[i2][j2]=domain[i1][j1];
  104. occupied[i1][j1]=0;
  105. if(domain[i2][j2]=='k')
  106. {
  107. kp1i=i2;
  108. kp1j=j2;
  109. }
  110.  
  111. blackandwhite(i1,j1);
  112.  
  113.  
  114. }
  115. }else
  116. {
  117.  
  118. if(pointer2==counter_steps2)
  119. {
  120. printf("You can't re-do.\nPlease play a move.");
  121. movement();
  122. return;
  123. }
  124. else
  125. {
  126. pointer2++;
  127. i1=steps2[pointer2].domain1i;
  128. j1=steps2[pointer2].domain1j;
  129. i2=steps2[pointer2].domain2i;
  130. j2=steps2[pointer2].domain2j;
  131. eaten=steps2[pointer2].eaten;
  132. piece=steps1[pointer1].piece;
  133. if(islower(domain[i2][j2]))
  134. {
  135. killed1[number_killed1]=eaten;
  136. number_killed1++;
  137. }
  138. if(domain[i1][j1]=='P' && i2==0)
  139. {
  140. premote(&domain[i1][j1]);
  141. }
  142. domain[i2][j2]=domain[i1][j1];
  143. occupied[i1][j1]=0;
  144. if(domain[i2][j2]=='K')
  145. {
  146. kp2i=i2;
  147. kp2j=j2;
  148. }
  149.  
  150. blackandwhite(i1,j1);
  151.  
  152. }
  153. }
  154.  
  155. }
Add Comment
Please, Sign In to add comment