В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
maximkh1
maximkh1
08.11.2022 22:51 •  Информатика

) Написати гру лото Компьютер та гравець Кожен отримає по 3 картки Послідовно випадають цифри від 1 до 90 (не повторюються) Якщо цифра яка випала є в будь якій картці то вона відображається іншим кольром (або фоном) Коли закреслені усі цифри в будь-якій картці - гравець виграє

Ответ:
GOLUBOVICH0400
GOLUBOVICH0400
30.05.2023 22:00

#include <iostream>

#include <vector>

#include <algorithm>

#include <ctime>

// Клас для представлення картки гри

class Card {

public:

   Card() {

       for(int i = 0; i < 5; i++) {

           nums.push_back(rand() % 90 + 1);

       }

   }

   bool checkNum(int num) {

       for(int i = 0; i < nums.size(); i++) {

           if(nums[i] == num) {

               nums.erase(nums.begin() + i);

               return true;

           }

       }

       return false;

   }

   bool isWin() {

       return nums.empty();

   }

private:

   std::vector<int> nums;

};

int main() {

   srand(time(0));

   // Створюємо картки для гравця і комп'ютера

   Card player, computer;

   // Створюємо дек з числами від 1 до 90

   std::vector<int> deck;

   for(int i = 1; i <= 90; i++) {

       deck.push_back(i);

   }

   // Перемішуємо дек

   std::random_shuffle(deck.begin(), deck.end());

   // Гра триває, поки хтось не виграє

   while(true) {

       int num = deck.back();

       deck.pop_back();

       std::cout << "Випало число " << num << std::endl;

       bool playerCheck = player.checkNum(num);

       bool computerCheck = computer.checkNum(num);

       if(playerCheck) {

           std::cout << "Гравець має це число" << std::endl;

           if(player.isWin()) {

               std::cout << "Гравець виграв!" << std::endl;

               break;

           }

       }

       if(computerCheck) {

           std::cout << "Комп'ютер має це число" << std::endl;

           if(computer.isWin()) {

               std::cout << "Комп'ютер виграв!" << std::endl;

               break;

           }

       }

   }

   return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?