-
Notifications
You must be signed in to change notification settings - Fork 0
/
Mediator.cpp
72 lines (66 loc) · 2.21 KB
/
Mediator.cpp
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "Mediator.h"
#include <iostream>
#include "CommandReader.h"
#include "Controller.h"
#include "CmdCommandReader.h"
#include "UiCommandReader.h"
//template <typename T>
//void changeMode(T) {
// T->SetLevels();
// T->SetOutput();
// InfoLog* logout_info = new InfoLog(T->GetOutputs(), T->GetLevels());
// T->SetSize();
// Controller ctrl(T, logout_info);
// ctrl.Move();
//}
void Mediator::Start() {
char res;
std::cout << "Select the command input mode:" << std::endl;
std::cout << "1: CMD" << std::endl;
std::cout << "2: UI" << std::endl;
std::cin >> res;
switch (res) {
case '1':
{
CmdCommandReader* comreader = new CmdCommandReader();
//changeMode(comreader);
comreader->SetLevels();
comreader->SetOutput();
comreader->SetDifficulty();
InfoLog* logout_info = new InfoLog(comreader->GetOutputs(), comreader->GetLevels());
comreader->SetSize();
Controller ctrl(comreader, logout_info, comreader->GetDifficulty());
ctrl.FieldGanerate();
ctrl.Move();
break;
}
case '2':
{
UiCommandReader* comreader = new UiCommandReader();
//changeMode(comreader);
comreader->SetLevels();
comreader->SetOutput();
comreader->SetDifficulty();
InfoLog* logout_info = new InfoLog(comreader->GetOutputs(), comreader->GetLevels());
comreader->SetSize();
Controller ctrl(comreader, logout_info, comreader->GetDifficulty());
ctrl.FieldGanerate();
ctrl.Move();
break;
}
default:
{
UiCommandReader* comreader = new UiCommandReader();
//changeMode(comreader);
comreader->SetLevels();
comreader->SetOutput();
comreader->SetDifficulty();
InfoLog* logout_info = new InfoLog(comreader->GetOutputs(), comreader->GetLevels());
comreader->SetSize();
Controller ctrl(comreader, logout_info, comreader->GetDifficulty());
ctrl.FieldGanerate();
ctrl.Move();
break;
}
}
}