1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-05-09 08:32:07 +00:00

backed-map:: precision policy 'random' implemented

This commit is contained in:
Zeno Rogue
2026-04-18 23:47:58 +02:00
parent 1803ef9759
commit 7e0ab5cc0a
2 changed files with 8 additions and 5 deletions
+2 -1
View File
@@ -792,7 +792,8 @@ struct hrmap_archimedean : hrmap {
void find_cell_connection(cell *c, int d) override {
if(PURE) {
if(arcm::id_of(c->master) < arcm::current.N * 2) {
heptspin hs = heptspin(c->master, d) + wstep + 2 + wstep + 1;
bool rev = (precision_policy & 1) && hrand(2);
heptspin hs = rev ? heptspin(c->master, d) - 1 + wstep - 2 + wstep: heptspin(c->master, d) + wstep + 2 + wstep + 1;
c->c.connect(d, hs.at->c7, hs.spin, hs.mirrored);
}
else c->c.connect(d, c, d, false);
+6 -4
View File
@@ -3124,10 +3124,12 @@ EX void setdist(cell *c, int d, cell *from) {
exploreland[d][c->land]++;
}
if(d < BARLEV) for(int i=0; i<c->type; i++) {
setdist(createMov(c, i), d+1, c);
if(buggyGeneration) return;
if(d < BARLEV) {
bool rev = (precision_policy & 1) && currentmap->get_backmap() && hrand(2);
for(int i=0; i<c->type; i++) {
setdist(createMov(c, rev ? (c->type-1-i) : i), d+1, c);
if(buggyGeneration) return;
}
}
int eqlevel = max(BARLEV-2, 7);