Advertisement
JewishCat

lab6

Apr 11th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.93 KB | None | 0 0
  1. // lab6.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <stdio.h>
  6. #include <conio.h>
  7. #include <stdlib.h> // функция rand
  8. #include <time.h> // функция time
  9. #include <iostream>
  10.  
  11. int koloda[12]; // колода карт
  12. int karta(); // функция "выдает" карту из колоды
  13.  
  14. using namespace std;
  15. int main()
  16. {
  17.     setlocale(LC_ALL, "");
  18.     int igrok = 0; // очки игрока
  19.     int comp = 0; // очки компьютера
  20.     char otv; // ответ игрока
  21.     time_t t;
  22.     // Создаем колоду
  23.     for (int i = 2; i <= 11; i++) {
  24.         koloda[i] = 4;
  25.     }
  26.     koloda[5] = 0; // "пятёрок" в колоде нет
  27.  
  28.     // инициализация генератора случайных чисел
  29.     srand((unsigned)time(&t));
  30.    
  31.     do
  32.     {
  33.         igrok += karta();
  34.  
  35.         if (igrok < 21) comp += karta();
  36.         if (igrok < 21 && comp < 21) {
  37.             printf("У вас %d\n", igrok);
  38.             printf("Ещё карту? (введите y или n) ");
  39.             otv = getchar();
  40.             // Игрок нажимает две клавиши: <букву> и <enter>.
  41.             // Предыдущий вызову getchar() прочитал букву
  42.             // В буфере клавиатуры остался код клавиши <enter>. Прочитаем его
  43.             int b;
  44.             b = getchar();
  45.         }
  46.     } while (igrok <= 21 && comp <= 21 && otv != 'n');
  47.  
  48.     if (igrok == 21 || (igrok < 21 && igrok > comp) || comp > 21) {
  49.         printf("Вы выиграли!\n");
  50.     }
  51.     else {
  52.         printf("Вы проиграли!\n");
  53.     }
  54.     printf("У вас %d\n", igrok);
  55.     printf("У компьютера %d\n", comp);
  56.  
  57.     printf("Для завершения нажмите <Enter>");
  58.     _getch();
  59.      
  60.     return 0;
  61. }
  62.  
  63. //Выдает карту из колоды
  64. int karta() {
  65.     int i;
  66.     do
  67.     {
  68.         i = rand() % 10 + 2;
  69.     } while (koloda[i] == 0);
  70.     koloda[i]--;
  71.     return i;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement