クラス FieldMap
java.lang.Object
net.trpfrog.medipro_game.fieldmap.FieldMap
- 直系の既知のサブクラス:
SpaceMap2D
public class FieldMap
extends java.lang.Object
宇宙の地図(平面)を管理するクラス。
- 作成者:
- つまみ
-
コンストラクタの概要
-
メソッドの概要
修飾子とタイプ メソッド 説明 void
addSymbol(int x, int y, Symbol symbol)
マップのx, y座標を指定してシンボルを追加します。boolean
contains(Symbol symbol)
boolean
equals(java.lang.Object o)
int
getChunkSquareLength()
チャンクの一辺の長さを取得します。int
getHeight()
マップの縦の長さを返します。int
getNumberOfHorizontalChunks()
横方向のチャンクの数を返します。int
getNumberOfVerticalChunks()
縦方向のチャンクの数を返します。int
getWidth()
マップの横の長さを返します。int
hashCode()
boolean
isWithin(int x, int y)
座標がマップの範囲内であるかを確認します。java.util.stream.Stream<Symbol>
rangeSymbolStream(java.awt.Rectangle range)
指定した範囲に含まれるSymbolのStreamを返します。void
removeSymbol(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
-