Files
cc3k/src/main.cc
Peisong Xiao 6768d73d16 full implementation!
bug: level generation will generate nullptrs
2024-07-15 00:09:14 -04:00

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;
}