- 0
This commit is contained in:
@ -3,40 +3,40 @@
|
||||
#include <string>
|
||||
|
||||
console_input::console_input(std::istream &cin):
|
||||
in{cin} {}
|
||||
in{cin} {}
|
||||
|
||||
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;
|
||||
game_command tmp;
|
||||
|
||||
if (in.eof())
|
||||
return game_command_terminate;
|
||||
return game_command_panic;
|
||||
|
||||
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";
|
||||
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);
|
||||
|
||||
in >> cmd;
|
||||
if (tmp != game_command_panic)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
if (in.eof())
|
||||
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;
|
||||
return game_command_pass;
|
||||
}
|
||||
|
Reference in New Issue
Block a user