-
Notifications
You must be signed in to change notification settings - Fork 0
class field_type
SenriYoshikawa edited this page Apr 18, 2015
·
4 revisions
- クラス名 field_type
###Member variables
- std::array<std::array<int,40>,40> raw_data; -- 障害物:-1 空き地:0 石:1~int_max
- std::array<std::array<int,32>,32> placed_order;
- std::vector<stone_type> placed_stone_list;
###Member function
-
size_t get_score()
- 現在の状態における得点を返す
-
field_type& put_stone(stone_type const& stone, int y, int x)
- 石を置く
- 自身への参照を返す
- 失敗したら例外を出す
-
bool is_puttable(stone_type const& stone, int y, int x)
- 指定された場所に指定された石が置けるかどうかを返す
-
field_type& remove_stone(stone_type const& stone)
- 指定された石を取り除く
- その石が置かれていない場合, 取り除いた場合に不整合が生じる場合は例外を出す
-
bool is_removable(stone_type const& stone)
- 指定された石を取り除けるかどうかを返す
-
std::vector<stone_type>& list_of_stones() const
- 置かれた石の一覧を表す配列を返す
-
point_type where_is(stone_type const& stone)
- 指定された石が置かれている場合, その石の左上の座標を返す
- 置かれていない場合は例外を出す
-
placed_stone_type get_stone(int y, int x)
- 座標を受け取る(Pとする)
- 次のものが含まれるオブジェクトを返す:
- 敷地上の点Pに設置されているブロックの所属する石(Sとする)への参照
- 敷地上における石Sの左上の座標(配置基準マスの座標)
- 石Sの内部における点Pの座標
- この型の定義:
- クラス名 placed_stone_type
- stone_type& stone
- point_type p_in_field
- point_type p_in_stone
enum class Block_State { BLANK, STONE, OBSTACLE }
- Block_State at(size_t y, size_t x)
- 指定された座標に何があるかを返す