mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-12 18:30:34 +00:00
a new pseudopept pattern in Binary4 and Ternary
This commit is contained in:
parent
05b6cdea3e
commit
4d761385ac
@ -854,15 +854,36 @@ auto bt_config = arg::add2("-btwidth", [] {arg::shift_arg_formula(vid.binary_wid
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
EX bool pseudohept(cell *c) {
|
EX bool pseudohept(cell *c) {
|
||||||
if(WDIM == 2)
|
switch(geometry) {
|
||||||
return c->type & c->master->distance & 1;
|
case gBinary4:
|
||||||
else if(geometry == gHoroRec)
|
c->cmove(3);
|
||||||
|
return (c->master->distance & 1) && (c->c.spin(3) == 0);
|
||||||
|
|
||||||
|
case gBinaryTiling:
|
||||||
|
return c->master->distance & c->type & 1;
|
||||||
|
|
||||||
|
case gTernary: {
|
||||||
|
return c->master->emeraldval & 1;
|
||||||
|
/* auto m = dynamic_cast<hrmap_binary*> (current_map());
|
||||||
|
auto o = m->origin;
|
||||||
|
int flips = 0;
|
||||||
|
while(m != o) {
|
||||||
|
if(m->master->distance >= o->master->distance) { if(m->c.spin(4) == 1) flips++; m = m->cmove(4); }
|
||||||
|
}
|
||||||
|
heptagon *origin;
|
||||||
|
c->cmove(4); return (c->c.spin(4) == 1); */
|
||||||
|
}
|
||||||
|
|
||||||
|
case gHoroRec:
|
||||||
return c->c.spin(S7-1) == 0 && (c->master->distance & 1) && c->cmove(S7-1)->c.spin(S7-1) == 0;
|
return c->c.spin(S7-1) == 0 && (c->master->distance & 1) && c->cmove(S7-1)->c.spin(S7-1) == 0;
|
||||||
else if(geometry == gHoroTris)
|
|
||||||
|
case gHoroTris:
|
||||||
return c->c.spin(S7-1) == 0 && (c->master->distance & 1);
|
return c->c.spin(S7-1) == 0 && (c->master->distance & 1);
|
||||||
else
|
|
||||||
|
default:
|
||||||
return (c->master->zebraval == 1) && (c->master->distance & 1);
|
return (c->master->zebraval == 1) && (c->master->distance & 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EX pair<gp::loc, gp::loc> gpvalue(heptagon *h) {
|
EX pair<gp::loc, gp::loc> gpvalue(heptagon *h) {
|
||||||
int d = h->c.spin(S7-1);
|
int d = h->c.spin(S7-1);
|
||||||
|
Loading…
Reference in New Issue
Block a user