33 lines
936 B
C++
33 lines
936 B
C++
#include <iostream>
|
|
|
|
#include "cc3k.h"
|
|
#include "arguments.h"
|
|
#include "constants.h"
|
|
|
|
int main(int argc, char **argv) {
|
|
std::unique_ptr<cursor> curse;
|
|
std::unique_ptr<input> in;
|
|
std::unique_ptr<display> out;
|
|
std::unique_ptr<RNG> rng;
|
|
|
|
feature enabled_features = proc_args(argc, argv, curse, in, out, rng);
|
|
|
|
if (enabled_features &
|
|
(FEATURE_PANIC | FEATURE_PANIC_FILE |
|
|
FEATURE_CONFLICT | FEATURE_PANIC_SEED)) {
|
|
panic_args(enabled_features);
|
|
return RETURN_PANICKED;
|
|
} else if (enabled_features & FEATURE_LIST_ARGS) {
|
|
print_args_list();
|
|
return RETURN_FINE;
|
|
}
|
|
|
|
CC3K game_proc(enabled_features, in.get(), out.get(), rng.get());
|
|
|
|
while (1)
|
|
if (game_proc.run() == game_status::terminated)
|
|
break;
|
|
|
|
return RETURN_FINE;
|
|
}
|