Guest User

Untitled

a guest
Dec 14th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1.  
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <stdio.h>
  5. #include <locale.h>
  6. #include <conio.h>
  7. #include <time.h>
  8. #include <string.h>
  9.  
  10.  
  11.  
  12. int main()
  13. { system("color 97");
  14. setlocale(LC_ALL, "rus");
  15. printf("\t\tПриветвую вас в моих недошашках\n\n");
  16. printf("Чтобы вернутся к выбору шашки введите(777), без скобок\n");
  17. int tmp, tmp1, i, j, ww = 0, bb = 0, t1, t2, m1, m2, f = 1, mm1, mm2, wf=0, bf=0, z=0;
  18. char a[9][9];
  19. int back;
  20. for (i = 0; i < 9; i++)
  21. {
  22. for (j = 0; j < 9; j++)
  23. {
  24. a[i][j] = 0;
  25.  
  26. }
  27. }
  28.  
  29. for (i = 1; i < 9; i++)
  30. {
  31. if (i % 2 == 0)
  32. a[1][i] = 1;
  33. }
  34. for (i = 1; i < 9; i++)
  35. {
  36. if (i % 2 != 0)
  37. a[2][i] = 1;
  38. }
  39. for (i = 1; i < 9; i++)
  40. {
  41. if (i % 2 == 0)
  42. a[3][i] = 1;
  43. }
  44.  
  45. for (i = 1; i < 9; i++)
  46. {
  47. if (i % 2 != 0)
  48. a[8][i] = 3;
  49. }
  50. for (i = 1; i < 9; i++)
  51. {
  52. if (i % 2 == 0)
  53. a[7][i] = 3;
  54. }
  55. for (i = 1; i < 9; i++)
  56. {
  57. if (i % 2 != 0)
  58. a[6][i] = 3;
  59. }
  60. for (i = 0; i < 9; i++)
  61. a[0][i] = i;
  62. for (i = 0; i < 9; i++)
  63. a[i][0] = i;
  64. for (i = 0; i < 9; i++)
  65. {
  66. printf("\n\t\t");
  67. for (j = 0; j < 9; j++)
  68. {
  69. printf("%3d", a[i][j]);
  70. }
  71. printf("\n");
  72. }
  73. do
  74. {
  75.  
  76. ww = 0;
  77. bb = 0;
  78. vibor:
  79. {
  80. printf("\nВыберите шашку (введите число в в формате (x y), без скобок\n");
  81. scanf_s("%d", &t1);
  82. scanf_s("%d", &t2);
  83. if ((a[t2][t1] == 0 || ((t1 == 0 || t2 == 0) && (t1 + t2) <= 8)) || (t1>9 || t2>9))
  84. {
  85. printf("Тут нет шашки");
  86. goto vibor;
  87. }
  88. }
  89. if((a[t2][t1]==3 || a[t2][t1]==4) && ((bf>wf) || (bf==0 && wf==0)))
  90. {
  91. wf++;
  92. goto hod;
  93. }
  94. if((a[t2][t1]==3 || a[t2][t1]==4) && (bf<wf))
  95. {
  96. printf("Сейчас ход белых(1 и 2)");
  97. goto vibor;
  98. }
  99. if((a[t2][t1]==1 || a[t2][t1]==2) && (bf<wf))
  100. {
  101. bf++;
  102. goto hod;
  103. }
  104. if((a[t2][t1]==1 || a[t2][t1]==2) && (bf>wf))
  105. {
  106. printf("Сейчас ход черных(3 и 4)");
  107. goto vibor;
  108. }
  109.  
  110. hod:
  111. {
  112. printf("Выберите позицию (введите число в в формате (x y), без скобок\n");
  113. scanf_s("%d", &m1);
  114. scanf_s("%d", &m2);
  115. if (m1 == 777)
  116. goto vibor;
  117. if (((m1 == 0 || m2 == 0) && (m1 + m2) <= 8) || (m1 > 9 || m2 > 9) || (m1 == t1 && m2 == t2) || a[m2][m1]!=0)
  118. {
  119. printf("Неверная позиция\n");
  120. goto hod;
  121.  
  122. }
  123. }
  124.  
  125. mm1 = m1;
  126. mm2 = m2;
  127. tmp = a[m2][m1];
  128. if(m1-t1==0|| t1-m1==0 || m2-t2==0 || t2-m2==0)
  129. {
  130. printf("Неверная позиция\n");
  131. goto hod;
  132. }
  133. else
  134. {
  135. if (m1 - t1 == 1 || t1 - m1 == 1 || a[t2][t1] == 2 || a[t2][t1] == 4)
  136. {
  137. if (a[t2][t1] == 2 || a[t2][t1] == 4)
  138. {
  139. a[m2][m1] = a[t2][t1];
  140. a[t2][t1] = 0;
  141. }
  142. if ((m2 == 1 || m2 == 8) && (a[m2][m1] == 1 || a[m2][m1] == 3))
  143. {
  144. tmp = a[m2][m1];
  145. tmp1 = (tmp = tmp + 1);
  146. a[m2][m1] = tmp1;
  147. }
  148. a[m2][m1] = a[t2][t1];
  149. a[t2][t1] = 0;
  150. }
  151. else
  152. {
  153. if ((abs(m2 - t2)) >= 2 || (abs(m1 - t1)) >= 2)
  154. {
  155. tmp = a[t2][t1];
  156. a[t2][t1] = 0;
  157. if ((m1 > t1) && (m2 < t2))
  158. a[m2 + 1][m1 - 1] = 0;
  159. if ((m1 < t1) && (m2 < t2))
  160. a[m2 + 1][m1 + 1] = 0;
  161. if ((m1 > t1) && (m2 < t2))
  162. a[m2 + 1][m1 - 1] = 0;
  163. if ((m1 < t1) && (m2 > t2))
  164. a[m2 - 1][m1 + 1] = 0;
  165. a[m2][m1] = tmp;
  166. }
  167. }
  168. }
  169. konec:
  170. {
  171. for (i = 0; i < 9; i++)
  172. {
  173. printf("\n\t\t");
  174. for (j = 0; j < 9; j++)
  175. {
  176. printf("%2d ", a[i][j]);
  177. if (a[i][j] == 1 || a[i][j] == 2)
  178. ww++;
  179. if (a[i][j] == 3 || a[i][j] == 4)
  180. bb++;
  181. }
  182. printf("\n");
  183. }
  184. if (ww == 2)
  185. {
  186. printf("!!!Победа черных!!!\n\n\t ___\n\t|^ ^|\n\t| ~ |\n\t ---\n");
  187. break;
  188. }
  189. if (bb == 2)
  190. {
  191. printf("!!!Победа белых!!!\n\n\t ___\n\t|^ ^|\n\t| ~ |\n\t ---\n");
  192. break;
  193. }
  194. }
  195. } while (f == 1);
  196. system("pause>void");
  197. return 0;
  198. }
Advertisement
Add Comment
Please, Sign In to add comment