![]() |
HyperRogue
11.3d
game/visualization engine based on non-Euclidean geometry
|
definition of connection tables, walkers, cell and heptagon structures More...
#include "hyper.h"
Classes | |
struct | hr::gcell |
struct | hr::walker< T > |
struct | hr::connection_table< T > |
struct | hr::wstep_t |
struct | hr::wmirror_t |
struct | hr::rev_t |
struct | hr::revstep_t |
struct | hr::walker< T > |
struct | hr::cdata |
struct | hr::heptagon |
struct | hr::cell |
struct | hr::manual_celllister |
struct | hr::celllister |
struct | hr::cth_t |
struct | hr::movei |
Namespaces | |
hr | |
Macros | |
#define | NODIR 126 |
#define | NOBARRIERS 127 |
#define | landparam LHU.landpar |
#define | landparam_color LHU.landpar_color |
#define | fval LHU.fi.fieldval |
#define | FULL_EDGE 120 |
Typedefs | |
typedef walker< heptagon > | hr::heptspin |
typedef walker< cell > | hr::cellwalker |
Enumerations | |
enum | hstate { hsOrigin, hsA, hsB, hsError, hsA0, hsA1, hsB0, hsB1, hsC } |
Functions | |
int | hr::gmod (int i, int j) |
template<class T > | |
T * | hr::tailored_alloc (int degree) |
template<class T > | |
void | hr::tailored_delete (T *x) |
EX int | hr::hrand (int i) |
EX cell * | hr::createMov (cell *c, int d) |
heptagon * | hr::createStep (heptagon *h, int d) |
heptspin | hr::operator+ (cellwalker cw, cth_t) |
cellwalker | hr::operator+ (heptspin hs, cth_t) |
EX cell * | hr::whirlwind::jumpDestination (cell *c) |
EX movei | hr::moveimon (cell *c) |
EX movei | hr::match (cell *f, cell *t) |
Variables | |
constexpr int | hr::global_distance_limit = 32000 |
constexpr int | hr::iteration_limit = 10000000 |
constexpr int | hr::STRONGWIND = 99 |
constexpr int | hr::FALL = 98 |
constexpr int | hr::NO_SPACE = 97 |
constexpr int | hr::TELEPORT = 96 |
constexpr int | hr::JUMP = 95 |
definition of connection tables, walkers, cell and heptagon structures
The standard geometry uses 'heptagons' for the underlying heptagonal tessellation, and 'cells' for the tessellation that the game is actually played on. Other geometries also use the class 'heptagon' even if they are not heptagon-based; there may be one 'heptagon' per each cell. Heptagons are not used in masterless geometries, though. This file implements the basic types and functions for navigating both graphs.