mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-07-07 11:52:51 +00:00
nilrider:: new level, Multi-Floor
This commit is contained in:
parent
aa174d92c8
commit
7a0501af3d
@ -332,7 +332,21 @@ void level::init_shapes() {
|
|||||||
|
|
||||||
void level::init() {
|
void level::init() {
|
||||||
if(initialized) return;
|
if(initialized) return;
|
||||||
|
|
||||||
|
if(this == &multifloor) {
|
||||||
|
for(int y=1; y<=4; y++) {
|
||||||
|
auto l = new level(*this);
|
||||||
|
l->name = l->name + "#" + its(y);
|
||||||
|
l->surface_heisenberg = [y] (hyperpoint h) { return rot_plane(h) - 3 * y; };
|
||||||
|
l->map_tiles[1][1] = '*';
|
||||||
|
l->sublevels = {};
|
||||||
|
sublevels.push_back(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
|
|
||||||
|
|
||||||
check_cgi();
|
check_cgi();
|
||||||
|
|
||||||
real_minx = HUGE_VAL;
|
real_minx = HUGE_VAL;
|
||||||
|
@ -895,69 +895,28 @@ level cycloid_slalom(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
level flyoff_sub("", 0, 0, "",
|
level multifloor(
|
||||||
-7.5*dft_block, 7.5*dft_block, 8.5*dft_block, -8.5*dft_block,
|
"Multi-floor", 'm', 0,
|
||||||
{
|
"There are triangles on the floors below. I mean, DIRECTLY below.\n\nHopefully, you can abuse how straight lines work in this geometry to reach them!"
|
||||||
"ggggggggggggggg!",
|
|
||||||
"ggggggfffgggggg!",
|
|
||||||
"ggggggfffgggggg!",
|
|
||||||
"gggg|ggggg|gggg!",
|
|
||||||
"ggg-*-----*-ggg!",
|
|
||||||
"gggg|ggggf|gggg!",
|
|
||||||
"ggGg|g+ggg|grgG!",
|
|
||||||
"gGgg|g|xgo|gggg!",
|
|
||||||
"ggGg|g|ggg|grgg!",
|
|
||||||
"gggg|!!!gg|gggg!",
|
|
||||||
"gg--*!T!--*--gg!",
|
|
||||||
"gggg|!!!gg|gggg!",
|
|
||||||
"gggggggGGgggggg!",
|
|
||||||
"ggggggggggggggg!",
|
|
||||||
"ggggggggggggggg!",
|
|
||||||
"!!!!!!!!!!!!!!!!"
|
|
||||||
},
|
|
||||||
6, 6, {},
|
|
||||||
[] (hyperpoint h) { return rot_plane(h) - 1.5; }, {}
|
|
||||||
);
|
|
||||||
|
|
||||||
level flyoff(
|
|
||||||
"Flyoff", 'r', 0,
|
|
||||||
"Collect all the triangles!\n\n"
|
|
||||||
"All the lines going through the center are horizontal.\n"
|
|
||||||
"However, this is Nil geometry. The other lines are NOT horizontal! Clockwise ones slope upwards, and counterclockwise ones slop edownwards.\n"
|
|
||||||
"Your unicycle is powered only by the gravity. Use that to your advantage!"
|
|
||||||
,
|
,
|
||||||
|
|
||||||
-7.5*dft_block, 7.5*dft_block, 8.5*dft_block, -8.5*dft_block,
|
-1.5*dft_block, 1.5*dft_block, 2.5*dft_block, -2.5*dft_block,
|
||||||
{
|
{
|
||||||
"ggggggggggggggg!",
|
"ggg!",
|
||||||
"ggggggfffgggggg!",
|
"ggg!",
|
||||||
"ggggggfffgggggg!",
|
"ggg!",
|
||||||
"gggg|ggggg|gggg!",
|
"!!!!"},
|
||||||
"ggg-*-----*-ggg!",
|
0, 1, {},
|
||||||
"gggg|ggggf|gggg!",
|
|
||||||
"ggGg|g+ggg|grgG!",
|
|
||||||
"gGgg|g|xgo|gggg!",
|
|
||||||
"ggGg|g|ggg|grgg!",
|
|
||||||
"gggg|!!!gg|gggg!",
|
|
||||||
"gg--*!!!--*--gg!",
|
|
||||||
"gggg|!!!gg|gggg!",
|
|
||||||
"gggggVVVGgggggg!",
|
|
||||||
"ggggggggggggggg!",
|
|
||||||
"ggggggggggggggg!",
|
|
||||||
"!!!!!!!!!!!!!!!!"
|
|
||||||
},
|
|
||||||
6, 6, {&flyoff_sub},
|
|
||||||
rot_plane,
|
rot_plane,
|
||||||
{
|
{
|
||||||
// the solver[0.25] result is 36.92
|
goal{0x40FF40, "Collect all the triangles in below 300 seconds, reversing time at most 3 times", basic_check(300, 3)},
|
||||||
goal{0x40FF40, "Collect all the triangles in below 60 seconds", basic_check(60, 999)},
|
goal{0xFFD500, "Collect all the triangles in below 150 seconds, reversing time at most once", basic_check(150, 1)}
|
||||||
goal{0xFFD500, "Collect all the triangles in below 38 seconds", basic_check(38, 999)}
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
vector<level*> all_levels = {
|
vector<level*> all_levels = {
|
||||||
&rotplane, &longtrack, &geodesical, &geodesical4, &heisenberg0, &rotwell, &labyrinth, &obstacle, &spirallev, &hilbertlev, &cycloid_slalom, &flyoff
|
&rotplane, &longtrack, &geodesical, &geodesical4, &heisenberg0, &rotwell, &labyrinth, &obstacle, &spirallev, &hilbertlev, &cycloid_slalom,
|
||||||
|
&multifloor
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user