23 std::numeric_limits<step_t>::max();
82 std::ostream& os = std::cout)
const;
85 std::ostream& os = std::cout)
const;
88 std::ostream& os = std::cout)
const;
91 std::ostream& os = std::cout)
const;
112 const Positions& dest,
const bool knownOnly,
148 Pose& end,
const bool knownOnly,
150 const bool breakUnknown)
const;
158 const Pose& focus)
const;
168 const bool knownOnly,
169 const bool diagEnabled);
171 #if MAZE_DEBUG_PROFILING
172 int queueSizeMax = 0;
int y
区画のy座標
Definition: Maze.h:608
unsigned int d
壁の方向
Definition: Maze.h:609
int x
区画のx座標
Definition: Maze.h:607
迷路上の方向を表す。
Definition: Maze.h:145
static constexpr const int8_t Max
方向の総数。for文などで使える。
Definition: Maze.h:178
迷路の壁情報を管理するクラス
Definition: Maze.h:646
const Position & getStart() const
スタート区画を取得
Definition: Maze.h:834
const Positions & getGoals() const
ゴール区画の集合を取得
Definition: Maze.h:830
区画ベースのステップマップを管理するクラス
Definition: StepMap.h:19
StepMap()
デフォルトコンストラクタ
Definition: StepMap.cpp:17
std::array< step_t, Position::SIZE > stepMap
迷路中のステップ数
Definition: StepMap.h:177
void print(const Maze &maze, const Position p=Position(-1, -1), const Direction d=Direction::Max, std::ostream &os=std::cout) const
ステップの表示
Definition: StepMap.cpp:21
void setStep(const int8_t x, const int8_t y, const step_t step)
ステップの更新
Definition: StepMap.h:54
std::array< step_t, MAZE_SIZE > stepTable
台形加速を考慮した移動コストテーブル (壁沿い方向)
Definition: StepMap.h:183
static constexpr step_t STEP_MAX
最大ステップ値
Definition: StepMap.h:22
void calcStraightCostTable()
計算の高速化のために予め直進のコストテーブルを計算する関数
Definition: StepMap.cpp:417
static constexpr float scalingFactor
コストが最大値を超えないようにスケーリングする係数
Definition: StepMap.h:181
Directions calcShortestDirections(const Maze &maze, const bool knownOnly, const bool simple)
スタートからゴールまでの最短経路を導出する関数
Definition: StepMap.h:122
void printFull(const Maze &maze, const Position p=Position(-1, -1), const Direction d=Direction::Max, std::ostream &os=std::cout) const
Definition: StepMap.cpp:82
uint16_t step_t
ステップの型
Definition: StepMap.h:21
void setStep(const Position p, const step_t step)
ステップの更新
Definition: StepMap.h:61
step_t getStep(const int8_t x, const int8_t y) const
ステップの取得
Definition: StepMap.h:40
static void appendStraightDirections(const Maze &maze, Directions &shortestDirections, const bool knownOnly, const bool diagEnabled)
ゴール区画内を行けるところまで直進させる方向列を追加する関数
Definition: StepMap.cpp:360
Directions calcShortestDirections(const Maze &maze, const Position start, const Positions &dest, const bool knownOnly, const bool simple)
与えられた区画間の最短経路を導出する関数
Definition: StepMap.cpp:221
void update(const Maze &maze, const Positions &dest, const bool knownOnly, const bool simple)
ステップマップの更新
Definition: StepMap.cpp:136
const auto getScalingFactor() const
ステップのスケーリング係数を取得
Definition: StepMap.h:72
step_t getStep(const Position p) const
ステップの取得
Definition: StepMap.h:47
const auto & getMapArray() const
ステップマップの生配列への参照を取得 (読み取り専用)
Definition: StepMap.h:67
void reset(const step_t step=STEP_MAX)
ステップマップを初期化する関数
Definition: StepMap.h:35
Directions getNextDirectionCandidates(const Maze &maze, const Pose &focus) const
引数区画の周囲の未知壁の確認優先順位を生成する関数
Definition: StepMap.cpp:330
static constexpr int stepTableSize
コストテーブルのサイズ
Definition: StepMap.h:179
Pose calcNextDirections(const Maze &maze, const Pose &start, Directions &nextDirectionsKnown, Directions &nextDirectionCandidates) const
ステップマップから次に行くべき方向を計算する関数
Definition: StepMap.cpp:234
Directions getStepDownDirections(const Maze &maze, const Pose &start, Pose &end, const bool knownOnly, const bool simple, const bool breakUnknown) const
ステップマップにより次に行くべき方向列を生成する
Definition: StepMap.cpp:243
迷路探索ライブラリはすべてこの名前空間に格納されている。
Definition: Maze.h:101
std::vector< Position > Positions
Position 構造体の動的配列、集合
Definition: Maze.h:375
std::vector< Direction > Directions
Direction 構造体の動的配列、集合
Definition: Maze.h:248
static constexpr int MAZE_SIZE
迷路の1辺の区画数の定数。
Definition: Maze.h:106
Position と Direction をまとめた型。位置姿勢。
Definition: Maze.h:393
迷路の区画の位置(座標)を定義。
Definition: Maze.h:268
bool isInsideOfField() const
フィールド内かどうかを判定する関数
Definition: Maze.h:336
uint16_t getIndex() const
迷路内の区画の一意な通し番号となるIDを取得する
Definition: Maze.h:298