Электронный Кадастр

Помощь в написании класса на C++ для вывода стакана в игре "Тетрис"

Тетрис - это классическая игра-головоломка, в которой игрок должен заполнять горизонтальные линии блоками, падающими сверху стакана. Цель игры - заполнять линии, чтобы они исчезали и освобождали место для новых блоков. В этой статье мы рассмотрим, как написать класс на языке С++, который будет выводить стакан для игры "Тетрис".

Определение класса

Для начала определим класс TetrisGlass, который будет отвечать за отображение стакана в игре "Тетрис". В этом классе мы будем использовать символы для представления блоков и пустого пространства.

class TetrisGlass {
public:
    TetrisGlass(int width, int height) : _width(width), _height(height) {}

    void draw() {
        for (int i = 0; i < _height; i++) {
            for (int j = 0; j < _width; j++) {
                std::cout << _glass[i][j] << " ";
            }
            std::cout << std::endl;
        }
    }

    void setBlock(int x, int y, char symbol) {
        _glass[y][x] = symbol;
    }

    void clear() {
        for (int i = 0; i < _height; i++) {
            for (int j = 0; j < _width; j++) {
                _glass[i][j] = ' ';
            }
        }
    }

private:
    int _width;
    int _height;
    std::vector<std::vector<char>> _glass;
};

Описание методов класса

Пример использования класса

int main() {
    int width = 10;
    int height = 20;
    
    TetrisGlass glass(width, height);

    glass.clear();
    glass.setBlock(2, 5, '#');
    glass.setBlock(7, 10, '*');
    glass.draw();

    return 0;
}

В этом примере мы создаем объект glass класса TetrisGlass с шириной 10 и высотой 20. Затем мы очищаем стакан, устанавливаем блоки в определенных координатах и выводим его содержимое на экран. Результатом должно быть отображение стакана на консоли, где символ '#' находится в позиции (2, 5), а символ '*' - в позиции (7, 10).

Заключение

В этой статье мы рассмотрели пример класса на языке C++, который отображает стакан для игры "Тетрис". Этот класс можно использовать как основу для создания полноценной игровой логики и интерфейса. Удачи в создании своей собственной версии игры "Тетрис"!