|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectlib.shogi.Kyokumen.ZOCInformation
private class Kyokumen.ZOCInformation
ZOC情報を保持・管理する為のクラス。 局面が変わるたびにZOC情報を生成していると計算時間のコストがかさむので、本クラスを使用する。
フィールドの概要 | |
---|---|
private static int |
DOWN
|
private static int |
DOWN_LEFT
|
private static int |
DOWN_RIGHT
|
private int[][] |
goteSequenceZOCInfo
後手の飛車・竜・角・馬・香車の連続したZOC情報を保持するマップ。 |
private int[][] |
goteZOCInfo
後手のZOC情報。 |
private static int |
LEFT
|
private static int |
RIGHT
|
private int[][] |
senteSequenceZOCInfo
先手の飛車・竜・角・馬・香車の連続したZOC情報を保持するマップ。 |
private int[][] |
senteZOCInfo
先手のZOC情報。 |
private static int |
UP
|
private static int |
UP_LEFT
|
private static int |
UP_RIGHT
|
コンストラクタの概要 | |
---|---|
private |
Kyokumen.ZOCInformation()
|
メソッドの概要 | |
---|---|
private void |
extendSequenceZOC(int[][] sequenceZOCInfo,
int direction,
int initX,
int initY,
boolean sente)
他の駒に当たるか盤外に出るまで連続ZOC情報を延長する。 |
private void |
extendSequenceZOC(int preX,
int preY)
引数で指定した筋・段に設定されている連続ZOC情報を、他の駒に当たるか盤外に出るまで延長する。 |
int[][] |
getZOCInfo(boolean sente)
引数で指定した方のプレイヤーのZOC情報を取得する。 |
void |
initialize()
エンクロージングオブジェクトのフィールドbanmenを参照して、ZOC情報を初期化する。 |
void |
moveKoma(int preKomaInfo,
int preX,
int preY,
int postKomaInfo,
int postX,
int postY)
preX筋preY段にある駒をpostX筋postY段に移動させる。 |
void |
putKoma(int komaInfo,
int x,
int y)
x筋y段に駒を打つ。 |
void |
removeKoma(int komaInfo,
int x,
int y)
x筋y段の駒のZOC情報を削除する。 |
private void |
shortenSequenceZOC(int[][] sequenceZOCInfo,
int direction,
int initX,
int initY,
boolean sente)
基準にするマス以降の連続ZOC情報を短縮する。 |
private void |
shortenSequenceZOC(int preX,
int preY)
引数で指定した筋・段に設定されているマスから先の連続ZOC情報を短縮する。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private int[][] senteZOCInfo
private int[][] goteZOCInfo
private int[][] senteSequenceZOCInfo
private int[][] goteSequenceZOCInfo
private static final int UP
private static final int UP_RIGHT
private static final int RIGHT
private static final int DOWN_RIGHT
private static final int DOWN
private static final int DOWN_LEFT
private static final int LEFT
private static final int UP_LEFT
コンストラクタの詳細 |
---|
private Kyokumen.ZOCInformation()
メソッドの詳細 |
---|
public int[][] getZOCInfo(boolean sente)
sente
- 先手ならtrue、後手ならfalse。
public void initialize()
public void putKoma(int komaInfo, int x, int y)
komaInfo
- 駒情報(先手・後手の情報も含む)。x
- 筋。y
- 段。private void extendSequenceZOC(int[][] sequenceZOCInfo, int direction, int initX, int initY, boolean sente)
sequenceZOCInfo
- 連続ZOC情報を保存している配列。direction
- 連続ZOCの方向。フィールドUP,UP_RIGHT,...,UP_LEFTで指定する。initX
- 基準にする筋。initY
- 基準にする段。sente
- 先手ならtrue、後手ならfalse。private void extendSequenceZOC(int preX, int preY)
preX
- 基準にする筋。preY
- 基準にする段。public void removeKoma(int komaInfo, int x, int y)
x
- 筋。y
- 段。private void shortenSequenceZOC(int[][] sequenceZOCInfo, int direction, int initX, int initY, boolean sente)
sequenceZOCInfo
- 連続ZOC情報を保存している配列。direction
- 連続ZOCの方向。フィールドUP,UP_RIGHT,...,UP_LEFTで指定する。initX
- 基準にする筋。initY
- 基準にする段。sente
- 先手ならtrue、後手ならfalse。private void shortenSequenceZOC(int preX, int preY)
preX
- 基準にする筋。preY
- 基準にする段。public void moveKoma(int preKomaInfo, int preX, int preY, int postKomaInfo, int postX, int postY)
preKomaInfo
- 移動前の駒情報。preX
- 移動前の筋。preY
- 移動前の段。postKomaInfo
- 移動後の駒情報。postX
- 移動後の筋。postY
- 移動後の段。
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |