) Написати гру лото Компьютер та гравець Кожен отримає по 3 картки Послідовно випадають цифри від 1 до 90 (не повторюються) Якщо цифра яка випала є в будь якій картці то вона відображається іншим кольром (або фоном) Коли закреслені усі цифри в будь-якій картці - гравець виграє
#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;
}