-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathController.cpp
More file actions
54 lines (49 loc) · 2 KB
/
Controller.cpp
File metadata and controls
54 lines (49 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Or Basker 316388743
// Nave Maymon 318887965
#include "Controller.h"
#include <iostream>
class HelloCommand : public Command
{
public:
void execute() override
{
std::cout << "Hello, world!" << std::endl;
}
};
class ByeCommand : public Command
{
public:
void execute() override
{
std::cout << "Goodbye!" << std::endl;
}
};
MazeController::MazeController() : cli_(new CLI(std::cin, std::cout)), model_(new MazeModel()), view_(new MazeView())
{
// HelloCommand *helloCommand = new HelloCommand();
// ByeCommand *byeCommand = new ByeCommand();
SolveMazeCommand *solveMazeCommand = new SolveMazeCommand(model_, view_);
GenerateMazeCommand *genrateMazeCommand = new GenerateMazeCommand(model_, view_);
CompressMazeCommand *compressMazeCommand = new CompressMazeCommand(model_, view_);
DecompressMazeCommand *decompressMazeCommand = new DecompressMazeCommand(model_, view_);
MazeSizeCommand *mazeSizeCommand = new MazeSizeCommand(view_,model_);
mazeMatrixSizeCommand *MazeMatrixSizeCommand = new mazeMatrixSizeCommand(view_,model_);
DisplayMazeCommand *displayMazeCommand = new DisplayMazeCommand(view_,model_);
ShowDirCommand *showDirCommand = new ShowDirCommand(view_,model_);
SolveFromFileCommand* solveMazeFileCommand = new SolveFromFileCommand(model_,view_);
cli_->addCommand("generateMaze", genrateMazeCommand);
cli_->addCommand("solveMaze", solveMazeCommand);
cli_->addCommand("saveMaze", compressMazeCommand);
cli_->addCommand("loadMaze", decompressMazeCommand);
cli_->addCommand("mazeSize", MazeMatrixSizeCommand);
cli_->addCommand("fileSize", mazeSizeCommand);
cli_->addCommand("display", displayMazeCommand);
cli_->addCommand("dir", showDirCommand);
cli_->addCommand("seeSolution", solveMazeFileCommand );
}
void MazeController::start()
{
std::cout <<BOLD<<UNDERLINE<<RED<< "Welcome to the Maze Game!" <<RESET<< endl;
// std::cout << "Here are the commands you can use:" << endl;
cli_->start();
}