Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <Windows.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. SetConsoleCP(1251);
  10. SetConsoleOutputCP(1251);
  11.  
  12. char board[8][8];
  13. int amountFigures = 5;
  14.  
  15. for(int i = 0; i < 8; i++)
  16. {
  17. for(int j = 0; j < 8; j++)
  18. {
  19. board[i][j] = '.';
  20. }
  21. }
  22.  
  23.  
  24. cout << "Ââåäèòå êîëè÷åñòâî çàäàâàåìûõ ôèãóð (íå áîëüøå 16)" << endl;
  25.  
  26. while(true)
  27. {
  28. cin >> amountFigures;
  29.  
  30. if(amountFigures <= 16)
  31. break;
  32.  
  33. cout << "Êîëè÷åñòâî ôèãóð äîëæíî áûòü ìåíüøå èëè ðàâíî 16" << endl;
  34. }
  35.  
  36. string inputCoord[amountFigures];
  37. char types[amountFigures];
  38.  
  39. cout << "Óêàæèòå òèï êàæäîé ôèãóðû: Ò, Ñ, Ï. ×åðåç ïðîáåë çàäàéòå êîîðäèíàòû" << endl;
  40.  
  41. for(int i = 0; i < amountFigures; i++)
  42. {
  43. cin >> types[i] >> inputCoord[i];
  44.  
  45. if(inputCoord[i] == inputCoord[i-1])
  46. {
  47. cout << "Êîîðäèíàòû ñîâïàäàþò, ââåäèòå íîâûå" << endl;
  48. cin >> inputCoord[i];
  49.  
  50. if(inputCoord[i] == inputCoord[i-1] || inputCoord[i] == " " )
  51. {
  52. inputCoord[i] = inputCoord[i-1];
  53. }
  54.  
  55. }
  56. }
  57.  
  58. // convert coordinates and then put them into board
  59. int row;
  60. int column;
  61.  
  62. char lastFigure;
  63. int lastRow;
  64. int lastColumn;
  65.  
  66. for(int i = 0; i < amountFigures; i++)
  67. {
  68. for(int j = 0; j < 3 ; j++)
  69. {
  70. if(isdigit(inputCoord[i][j]))
  71. {
  72. row = inputCoord[i][j] - '0';
  73. }
  74. else
  75. {
  76. switch(inputCoord[i][j])
  77. {
  78. case 'a':
  79. column = 0;
  80. break;
  81. case 'b':
  82. column = 1;
  83. break;
  84. case 'c':
  85. column = 2;
  86. break;
  87. case 'd':
  88. column = 3;
  89. break;
  90. case 'e':
  91. column = 4;
  92. break;
  93. case 'f':
  94. column = 5;
  95. break;
  96. case 'g':
  97. column = 6;
  98. break;
  99. case 'h':
  100. column = 7;
  101. break;
  102. }
  103. }
  104.  
  105. }
  106.  
  107. board[row - 1][column] = types[i];
  108.  
  109. lastFigure = types[i];
  110. lastRow = row - 1;
  111. lastColumn = column;
  112. }
  113.  
  114. if(lastFigure == 'Ò')
  115. {
  116. for(int i = 0; i < 8; i++)
  117. {
  118. for(int j = 0; j < 8; j++)
  119. {
  120.  
  121. if(board[i][lastColumn] != lastFigure)
  122. {
  123. board[i][lastColumn] = '*';
  124. }
  125.  
  126. if(board[lastRow][j] != lastFigure)
  127. {
  128. board[lastRow][j] = '*';
  129. }
  130.  
  131. }
  132. }
  133. }
  134.  
  135.  
  136.  
  137. if(lastFigure == 'Ñ')
  138. {
  139. for(int i = 1; i < 8; i++)
  140. {
  141. if(board[lastRow + i][lastColumn + i] != lastFigure)
  142. {
  143. board[lastRow + i][lastColumn + i] = '*';
  144. }
  145.  
  146. if(board[lastRow - i][lastColumn - i] != lastFigure)
  147. {
  148. board[lastRow - i][lastColumn - i] = '*';
  149. }
  150.  
  151. if(board[lastRow + i][lastColumn - i] != lastFigure)
  152. {
  153. board[lastRow + i][lastColumn - i] = '*';
  154. }
  155.  
  156.  
  157. }
  158.  
  159. for(int i = 1; i < 4; i++)
  160. {
  161.  
  162. if(board[lastRow - i][lastColumn + i] != lastFigure)
  163. {
  164. board[lastRow - i][lastColumn + i] = '*';
  165. }
  166. }
  167.  
  168. }
  169.  
  170. if(lastFigure == 'Ï')
  171. {
  172. board[lastRow - 1][lastColumn] = '*';
  173.  
  174. if(board[lastRow - 1][lastColumn + 1] == 'Ò' || board[lastRow - 1][lastColumn + 1] == 'Ñ')
  175. {
  176. board[lastRow - 1][lastColumn + 1] = '*';
  177. }
  178.  
  179. if(board[lastRow - 1][lastColumn - 1] == 'Ò' || board[lastRow - 1][lastColumn - 1] == 'Ñ')
  180. {
  181. board[lastRow - 1][lastColumn - 1] = '*';
  182. }
  183. }
  184.  
  185.  
  186.  
  187.  
  188. for(int i = 0; i < 8; i++)
  189. {
  190. for(int j = 0; j < 8; j++)
  191. {
  192. cout << board[i][j] << " ";
  193. }
  194.  
  195. cout << endl;
  196. }
  197.  
  198.  
  199. system("pause");
  200.  
  201. return 0;
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement