we're starting to get somewhere here
This commit is contained in:
14
cpp/src/controller/controller.hpp
Normal file
14
cpp/src/controller/controller.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "../model/board/board.hpp"
|
||||
|
||||
class View;
|
||||
|
||||
class Controller {
|
||||
protected:
|
||||
Board board;
|
||||
|
||||
public:
|
||||
// Controller(Board, View);
|
||||
virtual void on_tile_selected(int, int) = 0;
|
||||
};
|
17
cpp/src/controller/manual.cpp
Normal file
17
cpp/src/controller/manual.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
#include "manual.hpp"
|
||||
|
||||
ManualController::ManualController(Board b, View& view): view(view) {
|
||||
board = b;
|
||||
selected_piece = Piece::None;
|
||||
legal_moves = {};
|
||||
|
||||
view.update_board(b, selected_piece, legal_moves);
|
||||
}
|
||||
|
||||
void ManualController::on_tile_selected(int x, int y) {}
|
||||
|
||||
void ManualController::reset_selection() {}
|
||||
|
||||
void ManualController::show_legal_moves(Coords) {}
|
||||
|
||||
void ManualController::make_move(Move) {}
|
21
cpp/src/controller/manual.hpp
Normal file
21
cpp/src/controller/manual.hpp
Normal file
@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include "../model/utils/coords.hpp"
|
||||
#include "../model/utils/move.hpp"
|
||||
#include "../view/view.hpp"
|
||||
#include "controller.hpp"
|
||||
|
||||
class ManualController : public Controller {
|
||||
private:
|
||||
View& view;
|
||||
Piece selected_piece;
|
||||
std::vector<Move> legal_moves;
|
||||
|
||||
void reset_selection();
|
||||
void show_legal_moves(Coords);
|
||||
void make_move(Move);
|
||||
|
||||
public:
|
||||
ManualController(Board, View&);
|
||||
void on_tile_selected(int, int) override;
|
||||
};
|
Reference in New Issue
Block a user