- 0
This commit is contained in:
@ -3,40 +3,40 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
console_input::console_input(std::istream &cin):
|
console_input::console_input(std::istream &cin):
|
||||||
in{cin} {}
|
in{cin} {}
|
||||||
|
|
||||||
game_command console_input::get_command() {
|
game_command console_input::get_command() {
|
||||||
std::string cmd;
|
std::string cmd;
|
||||||
|
in >> cmd;
|
||||||
|
game_command tmp;
|
||||||
|
|
||||||
|
if (in.eof())
|
||||||
|
return game_command_terminate;
|
||||||
|
|
||||||
|
if (cmd == "q")
|
||||||
|
return game_command_terminate;
|
||||||
|
else if (cmd == "f")
|
||||||
|
return the_world;
|
||||||
|
else if (cmd == "r")
|
||||||
|
return game_restart;
|
||||||
|
else if (cmd == "u" || cmd == "a") {
|
||||||
|
bool use = cmd == "u";
|
||||||
|
|
||||||
in >> cmd;
|
in >> cmd;
|
||||||
game_command tmp;
|
|
||||||
|
|
||||||
if (in.eof())
|
if (in.eof())
|
||||||
return game_command_terminate;
|
return game_command_panic;
|
||||||
|
|
||||||
if (cmd == "q")
|
return (game_command)((tmp = get_direction(cmd)) ==
|
||||||
return game_command_terminate;
|
game_command_panic
|
||||||
else if (cmd == "f")
|
? tmp : tmp - move_north +
|
||||||
return the_world;
|
(use ? apply_north : attack_north));
|
||||||
else if (cmd == "r")
|
} else {
|
||||||
return game_restart;
|
auto tmp = get_direction(cmd);
|
||||||
else if (cmd == "u" || cmd == "a") {
|
|
||||||
bool use = cmd == "u";
|
|
||||||
|
|
||||||
in >> cmd;
|
if (tmp != game_command_panic)
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
if (in.eof())
|
return game_command_pass;
|
||||||
return game_command_panic;
|
|
||||||
|
|
||||||
return (game_command)((tmp = get_direction(cmd)) ==
|
|
||||||
game_command_panic
|
|
||||||
? tmp : tmp - move_north +
|
|
||||||
(use ? apply_north : attack_north));
|
|
||||||
} else {
|
|
||||||
auto tmp = get_direction(cmd);
|
|
||||||
|
|
||||||
if (tmp != game_command_panic)
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
return game_command_pass;
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user