Advertisement
Guest User

Корректирую ошибки

a guest
Apr 27th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.69 KB | None | 0 0
  1. /*==========
  2. file_name = "randomka.cpp"
  3. file_directory = "desktop\randomka_progect"
  4. full_file_name = "C:\Users\User\Desktop\Randomka_progect\System++_games.cpp"
  5. account_file_directory = "C:\Users\User\Desktop\Randomka_progect\Games_accounts"
  6. ==========*/
  7.  
  8. #include <iostream>
  9. #include <cstdio>
  10. #include <windows.h>
  11.  
  12. using namespace std;
  13.  
  14. int game_randomka(int max, int kol){
  15. srand(time(0));
  16. int system_num = rand() % max;
  17. int user_num, kol_tries = 0;
  18. bool win = false;
  19. system("cls");
  20. cout << "Игра началась. \
  21. \n Задача: угадать загаданное программой число от 0 до " << max <<".\
  22. \n У вас есть " <<kol<< " попыток. Поехали!" << endl;
  23.  
  24. for (kol_tries = 0; kol_tries <= kol; kol_tries++){
  25. cout << "Введите число: ";
  26. cin >> user_num;
  27.  
  28. if (user_num > system_num){
  29. cout << "Слишком много!" << endl;
  30. }
  31.  
  32. if (user_num < system_num){
  33. cout << "Слишком мало!" << endl;
  34. }
  35.  
  36. if (user_num == system_num){
  37. cout << "Угадали!!!" << endl;
  38. win = true;
  39. break;
  40. }
  41. }
  42.  
  43. if (not win){
  44. cout << "Вы проиграли - слишком много попыток. В следующий раз Вам повезет больше :)" << endl;
  45. return -1;
  46. }else{
  47. return 1;
  48. }
  49. }
  50. int gamesession_randomka(int kol, int max){
  51. int rez = 0, lock;
  52. do{
  53. rez += game_randomka(max, kol);
  54. cout << "Хотите сыграть еще? \n 1 - продолжить \n любая другая цифра - выйти" << endl;
  55. cin >> lock;
  56. system("cls");
  57. }while (lock == 1);
  58. cout << "Ваша статистика за прошедшую игровую сессию: " << rez << endl;
  59. getchar();
  60. system("cls");
  61. return rez;
  62. }
  63. int choose_level_randomka(){
  64. int game, ret;
  65. loop1:
  66. system("cls");
  67. cout << "Добро пожаловать в игру \"++ Рандомка ++\"\
  68. \n Выберите режим игры:\
  69. \n 1 - легкий\
  70. \n 2 - средний\
  71. \n 3 - сложный\
  72. \n 4 - пользовательский" << endl;
  73. cin >> game;
  74.  
  75. switch (game){
  76. case 1:{
  77. ret = gamesession_randomka(25, 1000);
  78. break;
  79. }
  80.  
  81. case 2:{
  82. ret = gamesession_randomka(20, 1000);
  83. break;
  84. }
  85.  
  86. case 3:{
  87. ret = gamesession_randomka(10, 1000);
  88. break;
  89. }
  90.  
  91. case 4:{
  92. int m,n;
  93. cout << "\n Введите игровые параметры: \n";
  94. cout << " Верхняя граница: ";
  95. cin >> n;
  96. cout << " Количество попыток: ";
  97. cin >> m;
  98. cout << endl;
  99.  
  100. ret = gamesession_randomka(m, n);
  101. break;
  102. }
  103.  
  104. default:{
  105. cout << "Ошибка: стиль игры не найден." << endl;
  106. getchar();
  107. system("cls");
  108. goto loop1;
  109. }
  110. }
  111. return ret;
  112. }
  113.  
  114. int game_cows(int kol){
  115. int user_num;
  116. bool win = false;
  117. srand(time(0));
  118. int sys[4];
  119. sys[0] = rand() % 10;
  120. for (int i = 1; i<4; i++){
  121. sys[i] = rand() % 10;
  122. for (int j = 0; j<i; j++){
  123. if(sys[i] == sys[j]){
  124. i--;
  125. break;
  126. }
  127. }
  128. }
  129. system("cls");
  130. cout << "Игра началась. \
  131. \n Задача: угадать загаданное программой 4-значное число по правилам игры \"Быки и коровы\" \
  132. \n У вас есть " <<kol<< " попыток. Поехали!" << endl;
  133.  
  134. int us[4],cows, mulls;
  135. for (int kol_tries = 0; kol_tries < kol; kol_tries++){
  136. cows = mulls = 0;
  137. cin >> user_num;
  138. for (int i = 0; i<4; i++){
  139. us[3 - i] = user_num % 10;
  140. user_num /= 10;
  141. }
  142. for (int i = 0; i<4; i++){
  143. if (us[i] == sys[i]){
  144. mulls++;
  145. }
  146. int j;
  147. for (j = 0; j<4 && us[i] != sys[j]; j++);
  148. if (i != j && j < 4) {
  149. cows++;
  150. }
  151. }
  152. cout << "cows = " << cows << "; mulls = " << mulls << endl;
  153. if (mulls == 4){
  154. cout << "You win!!!";
  155. getchar();
  156. win = true;
  157. break;
  158. }
  159. }
  160.  
  161.  
  162. if (not win){
  163. cout << "Вы проиграли - слишком много попыток. В следующий раз Вам повезет больше :)" << endl;
  164. return -1;
  165. }else{
  166. return 1;
  167. }
  168. }
  169. int gamesession_cows(int kol){
  170. int rez = 0, lock;
  171. do{
  172. rez += game_cows(kol);
  173. cout << "Хотите сыграть еще? \n 1 - продолжить \n любая другая цифра - выйти" << endl;
  174. cin >> lock;
  175. system("cls");
  176. }while (lock == 1);
  177. cout << "Ваша статистика за прошедшую игровую сессию: " << rez << endl;
  178. getchar();
  179. system("cls");
  180. return rez;
  181. }
  182. int choose_level_cows(){
  183. int game, ret;
  184. loop3:
  185. system("cls");
  186. cout << "Добро пожаловать в игру \"++ Быки и коровы! ++\"\
  187. \n Выберите режим игры:\
  188. \n 1 - легкий\
  189. \n 2 - средний\
  190. \n 3 - сложный\
  191. \n 4 - пользовательский" << endl;
  192. cin >> game;
  193.  
  194. switch (game){
  195. case 1:{
  196. ret = gamesession_cows(25);
  197. break;
  198. }
  199.  
  200. case 2:{
  201. ret = gamesession_cows(15);
  202. break;
  203. }
  204.  
  205. case 3:{
  206. ret = gamesession_cows(7);
  207. break;
  208. }
  209.  
  210. case 4:{
  211. int m;
  212. cout << "\n Введите игровые параметры: \n";
  213. cout << " Количество попыток: ";
  214. cin >> m;
  215. cout << endl;
  216. ret = gamesession_cows(m);
  217. break;
  218. }
  219.  
  220. default:{
  221. cout << "Ошибка: стиль игры не найден." << endl;
  222. getchar();
  223. system("cls");
  224. goto loop3;
  225. }
  226. }
  227. return ret;
  228. }
  229.  
  230. int choose_game(){
  231. system("cls");
  232. cout << "Добро пожаловать в комплекс цифровых игр \"Система++\"! \
  233. \n Выберите игру: \
  234. \n 1) Рандомка\
  235. \n 2) Быки и коровы" << endl;
  236. int sw, ret;
  237. loop2: cin >> sw;
  238. switch (sw){
  239. case 1:{
  240. ret = choose_level_randomka();
  241. break;
  242. };
  243. case 2:{
  244. ret = choose_level_cows();
  245. break;
  246. };
  247. default:{
  248. cout << "Игра не найдена. Повторите ввод.";
  249. goto loop2;
  250. }
  251. }
  252. return ret;
  253. }
  254.  
  255. int main(){
  256. int stat = 0;
  257.  
  258. while (stat < 10 && stat > -10){
  259. stat += choose_game();
  260. }
  261.  
  262. return 0;
  263. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement