게시판인베이더 게임으로 배우는 휴리스틱과 AI 브리지예제 소스

예제 소스

인베이더 게임으로 배우는 휴리스틱과 AI 브리지 · 파일 17개

gamecanvas.h

#pragma once

#include "gameengine.h"

#include <QWidget>

class GameCanvas final : public QWidget {
public:
    explicit GameCanvas(QWidget *parent = nullptr);

    void setEngine(Invader::GameEngine *engine) { m_engine = engine; }
    Invader::GameEngine *engine() const { return m_engine; }

    void setPaused(bool paused) { m_paused = paused; }
    bool paused() const { return m_paused; }

    void refreshView();

protected:
    void paintEvent(QPaintEvent *event) override;
    void keyPressEvent(QKeyEvent *event) override;

private:
    Invader::GameEngine *m_engine = nullptr;
    int m_scale = 1;
    bool m_paused = false;
};