クラス FieldMap
java.lang.Object
net.trpfrog.medipro_game.fieldmap.FieldMap
- 直系の既知のサブクラス:
SpaceMap2D
public class FieldMap
extends java.lang.Object
宇宙の地図(平面)を管理するクラス。
- 作成者:
- つまみ
-
コンストラクタの概要
-
メソッドの概要
修飾子とタイプ メソッド 説明 voidaddSymbol(int x, int y, Symbol symbol)マップのx, y座標を指定してシンボルを追加します。booleancontains(Symbol symbol)booleanequals(java.lang.Object o)intgetChunkSquareLength()チャンクの一辺の長さを取得します。intgetHeight()マップの縦の長さを返します。intgetNumberOfHorizontalChunks()横方向のチャンクの数を返します。intgetNumberOfVerticalChunks()縦方向のチャンクの数を返します。intgetWidth()マップの横の長さを返します。inthashCode()booleanisWithin(int x, int y)座標がマップの範囲内であるかを確認します。java.util.stream.Stream<Symbol>rangeSymbolStream(java.awt.Rectangle range)指定した範囲に含まれるSymbolのStreamを返します。voidremoveSymbol(int x, int y, Symbol symbol)マップのx, y座標とシンボルを指定してそのシンボルを削除します。クラスから継承されたメソッド java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
コンストラクタの詳細
-
FieldMap
public FieldMap(int numberOfHorizontalChunks, int numberOfVerticalChunks, int chunkSquareLength)指定したサイズの平面マップを作成します。 マップは一辺chunkSquareLengthの正方形のチャンクで区切られ、 そのチャンクが縦横がいくつ並ぶかでサイズが決定されます。- パラメータ:
numberOfHorizontalChunks- 横方向のチャンクの数numberOfVerticalChunks- 縦方向のチャンクの数chunkSquareLength- 正方形のチャンクの一辺の長さ
-
FieldMap
public FieldMap(int numberOfHorizontalChunks, int numberOfVerticalChunks)指定したサイズの平面マップを作成します。 マップは一辺chunkSquareLength(デフォルト: 16) の正方形のチャンクで区切られ、 そのチャンクが縦横がいくつ並ぶかでサイズが決定されます。- パラメータ:
numberOfHorizontalChunks- 横方向のチャンクの数numberOfVerticalChunks- 縦方向のチャンクの数
-
-
メソッドの詳細
-
addSymbol
マップのx, y座標を指定してシンボルを追加します。- パラメータ:
x- x座標y- y座標symbol- 追加するシンボル
-
removeSymbol
マップのx, y座標とシンボルを指定してそのシンボルを削除します。- パラメータ:
x- x座標y- y座標symbol- 削除するシンボル
-
isWithin
public boolean isWithin(int x, int y)座標がマップの範囲内であるかを確認します。- パラメータ:
x- x座標y- y座標- 戻り値:
- 座標がマップの範囲内であるかどうか
-
getChunkSquareLength
public int getChunkSquareLength()チャンクの一辺の長さを取得します。- 戻り値:
- チャンクの一辺の長さ
-
getNumberOfHorizontalChunks
public int getNumberOfHorizontalChunks()横方向のチャンクの数を返します。- 戻り値:
- 横方向のチャンクの数
-
getNumberOfVerticalChunks
public int getNumberOfVerticalChunks()縦方向のチャンクの数を返します。- 戻り値:
- 縦方向のチャンクの数
-
getWidth
public int getWidth()マップの横の長さを返します。- 戻り値:
- マップの横の長さ
-
getHeight
public int getHeight()マップの縦の長さを返します。- 戻り値:
- マップの縦の長さ
-
rangeSymbolStream
指定した範囲に含まれるSymbolのStreamを返します。
もし未踏のチャンクが含まれていればそれを同時に生成します。
計算量はフィールド全体の大きさを (H, W) として O(log(H) + log(W) + range.h * range.w) です。- パラメータ:
range- Symbolが含まれている範囲- 戻り値:
- 範囲内に存在するSymbolのStream
-
contains
-
equals
public boolean equals(java.lang.Object o)- オーバーライド:
equalsクラス内java.lang.Object
-
hashCode
public int hashCode()- オーバーライド:
hashCodeクラス内java.lang.Object
-