dual geometry puzzle generator
More...
|
typedef tuple< cell *, cell *, int > | hr::dpgen::cpos |
|
|
void | hr::dpgen::enqueue (cpos p, int d, int li) |
|
void | hr::dpgen::solve (cpos at) |
|
void | hr::dpgen::launch (int seed, int elimit, int hlimit) |
|
EX void | hr::dpgen::check () |
|
EX void | hr::dpgen::show_menu () |
|
|
EX bool | hr::dpgen::in |
|
map< cpos, int > | hr::dpgen::visited |
|
vector< cpos > | hr::dpgen::all |
|
vector< int > | hr::dpgen::last |
|
int | hr::dpgen::last_elimit |
|
int | hr::dpgen::last_hlimit |
|
vector< puzzle > | hr::dpgen::puzzles |
|
bool | hr::dpgen::hide_random = false |
|
int | hr::dpgen::last_seed = 0 |
|
auto | hr::dpgen::sbhook |
|
dual geometry puzzle generator
◆ puzzles
vector<puzzle> hr::dpgen::puzzles |
Initial value:= {
{"easy 1", 1, 3, 2},
{"easy 2", 2, 3, 2},
{"easy 3", 5, 3, 2},
{"medium 1", 7, 3, 3},
{"medium 2", 11, 3, 3},
{"hard 1", 1, 4, 3},
{"hard 2", 1, 3, 4},
{"hard 3", 1, 3, 5},
}
◆ sbhook
Initial value:= addHook(hooks_args, 100, [] {
using namespace arg;
if(0) ;
else if(argis("-dpgen")) {
shift(); last_seed = argi();
shift(); last_elimit = argi();
shift(); last_hlimit = argi();
launch(last_seed, last_elimit, last_hlimit);
}
else if(argis("-d:dpgen")) {
pushScreen(show_menu);
}
else if(argis("-dph")) {
last_seed = 1;
last_elimit = 3;
last_hlimit = 2;
launch(1, 3, 2);
hide_random = true;
pushScreen(show_menu);
}
else return 1;
return 0;
}) + addHook(hooks_o_key, 91, [] {
if(in)
return named_dialog(
XLAT(
"select a puzzle"), show_menu);
else return named_functionality();
})