名称 | MIRS1301 地図ライブラリ詳細設計書 |
---|---|
番号 | MIRS1301-SOFT-0007 |
最終更新日:2013.02.18
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2013.02.18 | 高原一真 | 青木先生 | 初版 |
本ドキュメントは、MIRS1301の地図ライブラリの詳細設計書である。
修飾子 | 名称 | 概要 |
---|---|---|
typedef enum {...} | MapObjectType | マップ上のオブジェクトの種類 |
値 | 説明 | |
MAP_OBJECT_NONE | 何もない | |
MAP_OBJECT_START | スタート地点 | |
MAP_OBJECT_POLE | 柱 | |
MAP_OBJECT_LANTERN | 灯籠(宝の台座) | |
MAP_OBJECT_TREASURE | 宝 | |
MAP_OBJECT_UNKOWN | 未知 |
修飾子 | 名称 | 概要 |
---|---|---|
typedef struct {...} | MapSection | 1区画分のデータ |
型 | メンバ名 | 説明 |
Point | .center | 座標 |
int | .row | 行 |
int | .col | 列 |
MapObjectType | .object | 設置物 |
int | .wall.north | 北側の壁の有無(0 or 1) |
int | .wall.east | 西側の壁の有無(0 or 1) |
int | .wall.west | 東側の壁の有無(0 or 1) |
int | .wall.south | 南側の壁の有無(0 or 1) |
修飾子・型 | 名称 | 概要 |
---|---|---|
#define | MAP_ROWS_MAX | マップの最大サイズ |
#define | MAP_COLS_MAX | マップの最大サイズ |
#define | MAP_POLE_RADIUS | 柱の半径 |
#define | MAP_LANTERN_WIDTH | 灯籠の幅 |
修飾子・戻値 | 名称・引数 | 概要 |
---|---|---|
int | mapOpen(char* fileName) | マップデータのインポート |
void | mapClose() | マップデータの破棄 |
int | mapGetRows() | 行数の取得 |
int | mapGetCols() | 列数の取得 |
Point | mapGetSectionSize() | 1区画の大きさの取得 |
MapSection | mapGetSection(int row, int col) | 区画情報の取得 |
MapSection | mapGetErrorSection() | エラーを意味する区画情報の取得 |
MapSection | maoGetSectionAt(Point p) | 区画情報の取得 |
int | mapSetSection(MapSection s) | 区画情報の変更 |
int | mapSectionIsError(MapSection s) | エラー値を意味するデータか判定する |
int | mapHasClearSpace(MapSection s1, MapSection s2) | 区画間を結ぶ直線上に障害物が無いか判定する |
void | mapPrint(int offsetLines, int offsetCols) | 標準出力にマップを出力する |
int | mapInitRoutes() | ルート情報を初期化する |
void | mapDestroyRoutes() | ルート情報を破棄する |
Point | mapGetNextPoint(Point start, Point target) | 次に行くべき座標を取得する |
int | mapGetRoute(Point start, Point target, Point* point, int size) | ルート情報を取得する |
double | mapGetRouteLength(Point start, Point target) | ルートの全長を取得する |
double | mapGetDistanceToWall(Line line) | 地図上における壁までの距離を取得する |
ダウンロード先: MIRS1301 ソフトウェア詳細設計書