• Допрацюйте проєкт, розроблений на занятті. Додайте кнопку для рестарту гри. Крім того, по закінченню гри виведіть у Serial Monitor загальний рахунок гравця (кількість комбінацій, які йому вдалося повторити).

    question img

Ответы 1

  • Ответ:

    C++ , Цей код включає кнопку для рестарту гри. Коли м'яч впаде за межі екрану, гра завершиться, і загальний рахунок гравця буде виведений в Serial Monitor. Гравець може натиснути кнопку рестарту на контролері або ввести команду для рестарту гри залежно від використовуваного апаратного обладнання.

    Объяснение:

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    using namespace std;

    class Ball {

    public:

       Ball(int x, int y, int speedX, int speedY) {

           this->x = x;

           this->y = y;

           this->speedX = speedX;

           this->speedY = speedY;

       }

       void move() {

           x += speedX;

           y += speedY;

       }

       void display() {

           cout << "М'яч: x=" << x << ", y=" << y << endl;

       }

    private:

       int x;

       int y;

       int speedX;

       int speedY;

    };

    class Platform {

    public:

       Platform(int x, int y, int width, int height, int speed) {

           this->x = x;

           this->y = y;

           this->width = width;

           this->height = height;

           this->speed = speed;

       }

       void moveLeft() {

           x -= speed;

       }

       void moveRight() {

           x += speed;

       }

       void display() {

           cout << "Платформа: x=" << x << ", y=" << y << ", ширина=" << width << ", висота=" << height << endl;

       }

       int getX() {

           return x;

       }

       int getWidth() {

           return width;

       }

    private:

       int x;

       int y;

       int width;

       int height;

       int speed;

    };

    class Game {

    public:

       Game() {

           ball = Ball(0, 0, 1, 1);

           platform = Platform(0, 0, 10, 2, 1);

           score = 0;

       }

       void run() {

           while (true) {

               // Логіка руху м'яча та платформи

               ball.move();

               platform.moveLeft();

               // Перевірка на зіткнення м'яча з платформою

               if (ball.getX() >= platform.getX() && ball.getX() < platform.getX() + platform.getWidth() &&

                   ball.getY() == 0) {

                   // Якщо м'яч доторкнувся до платформи, збільшуємо рахунок

                   score++;

               }

               // Відображення м'яча, платформи та рахунку

               ball.display();

               platform.display();

               cout << "Загальний рахунок: " << score << endl;

               // Логіка рестарту гри

               if (ball.getY() > 10) {

                   // Якщо м'яч впав за межі екрану, рестартуємо гру

                   cout << "Гра завершилась. Загальний рахунок: " << score << endl;

                   score = 0;

                   ball = Ball(0, 0, 1, 1);

                   platform =Platform(0, 0, 10, 2, 1);

    }

           // Затримка для емуляції руху

           delay(100);

       }

    }

    private:

    Ball ball;

    Platform platform;

    int score;

    };

    int main() {

    // Ініціалізація гри

    Game game;

    // Запуск гри

    game.run();

    return 0;

    }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years