|
8 | 8 | #include <windows.h>
|
9 | 9 | #endif
|
10 | 10 |
|
| 11 | +#define HORIZONTAL_LINE_DIVIDER "--------------------------------------------------------------------------------" |
11 | 12 | #define CLEAR_SCREEN "\033[2J\33[H"
|
12 | 13 | // #define CLEAR_SCREEN ""
|
13 | 14 | #define SIDEBAR_MARGIN " "
|
@@ -157,28 +158,34 @@ void konsolen_view::print_board(std::string message){
|
157 | 158 |
|
158 | 159 | void konsolen_view::show_start_menu(){
|
159 | 160 | std::cout << CLEAR_SCREEN;
|
160 |
| - std::cout << "==============================================\n"; |
| 161 | + std::cout << HORIZONTAL_LINE_DIVIDER << "\n"; |
161 | 162 | std::cout << "Startmenü Mühle\n";
|
162 |
| - std::cout << "==============================================\n"; |
| 163 | + std::cout << HORIZONTAL_LINE_DIVIDER << "\n"; |
163 | 164 | std::cout << "1. Neues Spiel erstellen\n";
|
164 | 165 | std::cout << "2. Einem Spiel beitreten\n";
|
165 | 166 | std::cout << "3. Anleitung anzeigen\n";
|
166 | 167 | std::cout << "4. Spiel Beenden\n";
|
167 |
| - std::cout << "==============================================" << std::endl; |
| 168 | + std::cout << HORIZONTAL_LINE_DIVIDER << std::endl; |
168 | 169 | }
|
169 | 170 |
|
170 | 171 | void konsolen_view::show_instructions(){
|
171 | 172 | std::cout << CLEAR_SCREEN;
|
172 |
| - std::cout << "==============================================" << std::endl; |
| 173 | + std::cout << HORIZONTAL_LINE_DIVIDER << std::endl; |
173 | 174 | std::cout << "Anleitung" << std::endl;
|
174 |
| - std::cout << "==============================================" << std::endl; |
175 |
| - std::cout << "Ablauf Mühle:" << std::endl; |
176 |
| - std::cout << "Setzphase: Die Spieler setzen abwechselnd je einen Stein, insgesamt je neun, auf Kreuzungs- oder Eckpunkte des Brettes" << std::endl; |
177 |
| - std::cout << "Zugphase: Die Spielsteine werden gezogen, das heißt, pro Runde darf jeder Spieler einen Stein auf einen angrenzenden, freien Punkt bewegen. Kann ein Spieler keinen Stein bewegen, hat er verloren." << std::endl; |
178 |
| - std::cout << "Endphase: Sobald ein Spieler nur noch drei Steine hat, darf er mit seinen Steinen springen, das heißt, er darf nun pro Runde mit einem Stein an einen beliebigen freien Punkt springen. \nSobald ihm ein weiterer Stein abgenommen wird, hat er das Spiel verloren." << std::endl; |
179 |
| - std::cout << "Drei Steine einer Farbe, die in einer Geraden auf Feldern nebeneinander liegen, nennt man eine „Mühle“. \nWenn ein Spieler eine Mühle schließt, darf er einen beliebigen Stein des Gegners aus dem Spiel nehmen, sofern dieser Stein nicht ebenfalls Bestandteil einer Mühle ist. " << std::endl; |
180 |
| - std::cout << "==============================================\n" << std::endl; |
181 |
| - |
| 175 | + std::cout << HORIZONTAL_LINE_DIVIDER << std::endl; |
| 176 | + std::cout << R"( |
| 177 | +1. Die Züge werden wie in Schach über eine Notation gelöst. Das Mühle-Feld lässt |
| 178 | + sich aufteilen in a-g Spalten und 1-7 Zeilen. |
| 179 | +2. Die Auswahl des Feldes erfolgt über die Angabe der Notation (z. B. `a7`). |
| 180 | +3. Das Spiel läuft wie folgt ab: |
| 181 | + - Setzphase: Die Spieler setzen abwechselnd je einen Stein, insgesamt je neun, auf Kreuzungs- oder Eckpunkte des Brettes |
| 182 | + - Zugphase: Die Spielsteine werden gezogen, das heißt, pro Runde darf jeder Spieler einen Stein auf einen angrenzenden, freien Punkt bewegen. Kann ein Spieler keinen Stein bewegen, hat er verloren. |
| 183 | + - Endphase: Sobald ein Spieler nur noch drei Steine hat, darf er mit seinen Steinen springen, das heißt, er darf nun pro Runde mit einem Stein an einen beliebigen freien Punkt springen. Sobald ihm ein weiterer Stein abgenommen wird, hat er das Spiel verloren. |
| 184 | +
|
| 185 | +Drei Steine einer Farbe, die in einer Geraden auf Feldern nebeneinander liegen, nennt man eine „Mühle“. Wenn ein Spieler eine Mühle schließt, darf er einen beliebigen Stein des Gegners aus dem Spiel nehmen, sofern dieser Stein nicht ebenfalls Bestandteil einer Mühle ist. |
| 186 | +)"; |
| 187 | + std::cout << HORIZONTAL_LINE_DIVIDER << "\n" << std::endl; |
| 188 | + std::cout << "Um zurückzukehren drücken Sie eine beliebige Taste + ENTER." << std::endl; |
182 | 189 | }
|
183 | 190 |
|
184 | 191 | void konsolen_view::show_end_screen(bool won){
|
|
0 commit comments