名称 MIRS1301 地図ライブラリ詳細設計書
番号 MIRS1301-SOFT-0007

最終更新日:2013.02.18

版数 最終更新日 作成 承認 改訂記事
A01 2013.02.18 高原一真 青木先生 初版

目次

  1. はじめに
  2. 要約
  3. プログラム

  1. はじめに

    本ドキュメントは、MIRS1301の地図ライブラリの詳細設計書である。

  2. 要約

    1. 構造体・列挙体

      列挙体: MapObjectType

      修飾子名称概要
      typedef enum {...}MapObjectType マップ上のオブジェクトの種類
      説明
      MAP_OBJECT_NONE何もない
      MAP_OBJECT_STARTスタート地点
      MAP_OBJECT_POLE
      MAP_OBJECT_LANTERN灯籠(宝の台座)
      MAP_OBJECT_TREASURE
      MAP_OBJECT_UNKOWN未知

      構造体: MapSection

      修飾子名称概要
      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)
    2. 定数

      修飾子・型名称概要
      #define MAP_ROWS_MAX マップの最大サイズ
      #define MAP_COLS_MAX マップの最大サイズ
      #define MAP_POLE_RADIUS 柱の半径
      #define MAP_LANTERN_WIDTH 灯籠の幅

    3. 関数・関数型マクロ

      修飾子・戻値名称・引数概要
      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) 地図上における壁までの距離を取得する

  3. プログラム

    ダウンロード先: MIRS1301 ソフトウェア詳細設計書

▲上へ


MIRS1301 ドキュメント管理台帳へ

沼津工業高等専門学校 電子制御工学科