|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.gr.java_conf.ishihata.mj_ai.MJ_AI
このクラスはAIの基底クラスです。 すべてのAIはこのクラスのサブクラスとして実装します。 このクラスが提供するメソッドはすべて「何もしない」形に実装されています。AIの実装はこれらのメソッドを 適切にオーバーライドすることにより実現します。
フィールドの概要 | |
static int |
MJAC_NORED
このフラグを指定して鳴くと、赤牌を明子に取り込まないように処理されます。 |
static int |
MJEK_AGARI
和了して局が終了したことを表します。 |
static int |
MJEK_CHONBO
チョンボして流局したことを表します。 |
static int |
MJEK_RYUKYOKU
流れて流局したことを表します。 |
static int |
MJPIR_ANKAN
アンカンすることを表します。 |
static int |
MJPIR_CHII1
チー(左端を鳴く場合)することを表します。 |
static int |
MJPIR_CHII2
チー(右端を鳴く場合)することを表します。 |
static int |
MJPIR_CHII3
チー(中間を鳴く場合)することを表します。 |
static int |
MJPIR_KAN
カンすることを表します。 |
static int |
MJPIR_MINKAN
ミンカンすることを表します。 |
static int |
MJPIR_NAGASHI
流すことを表します。 |
static int |
MJPIR_PON
ポンすることを表します。 |
static int |
MJPIR_REACH
リーチすることを表します。 |
static int |
MJPIR_RON
ロンすることを表します。 |
static int |
MJPIR_SUTEHAI
捨て牌を表します。 |
static int |
MJPIR_TSUMO
ツモすることを表します。 |
static int |
MJR_NOTCARED
処理しないことを表します。 |
static int |
MJST_BASHOGIME
場所決めの途中であることを表します。 |
static int |
MJST_INKYOKU
局の途中であることを表します。 |
コンストラクタの概要 | |
MJ_AI()
|
メソッドの概要 | |
java.lang.String |
getName()
このAIの名前を返します。 |
boolean |
initialize(MIPIface iface)
このインスタンスを初期化します。 |
boolean |
isExchangeable()
ゲームの途中から引き継ぎで参加することが可能かどうかを確認するために呼び出されます。 |
int |
onAction(int action,
int player_no,
int target_no,
MJIHaiReader hai)
自分を含む誰かがアクションを起こした時に呼び出されます。 |
int |
onBashogime(int[] nokori)
場所決め時に呼び出されます。 |
void |
onEndGame(int rank,
int score)
ゲーム終了時に呼び出されます。 |
void |
onEndKyoku(int reason,
int[] score_inc)
局終了時に呼び出されます。 |
boolean |
onExchange(int state)
ゲームの途中から引き継ぎで参加する場合に、initialize() の呼び出しの後に呼び出されます。 |
void |
onStartGame()
ゲーム開始時に呼び出されます。 |
void |
onStartKyoku(int kyoku,
int cha)
局開始時に呼び出されます。 |
int |
onSutehai(MJITehaiReader te,
MJIHaiReader tsumohai)
捨て牌を選びます。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int MJPIR_SUTEHAI
public static final int MJPIR_REACH
public static final int MJPIR_KAN
public static final int MJPIR_TSUMO
public static final int MJPIR_NAGASHI
public static final int MJPIR_PON
public static final int MJPIR_CHII1
public static final int MJPIR_CHII2
public static final int MJPIR_CHII3
public static final int MJPIR_MINKAN
public static final int MJPIR_ANKAN
public static final int MJPIR_RON
public static final int MJR_NOTCARED
public static final int MJEK_AGARI
public static final int MJEK_RYUKYOKU
public static final int MJEK_CHONBO
public static final int MJST_INKYOKU
public static final int MJST_BASHOGIME
public static final int MJAC_NORED
コンストラクタの詳細 |
public MJ_AI()
メソッドの詳細 |
public boolean initialize(MIPIface iface)
iface
- インタフェースpublic java.lang.String getName()
public void onStartGame()
public void onEndGame(int rank, int score)
rank
- 自分の順位(0〜3)score
- 自分の点数public void onStartKyoku(int kyoku, int cha)
kyoku
- 局(0 : 東一局,1 : 東二局,・・・,4 : 南一局,・・・,7 : 南四局,8 : 西一局,・・・,11 : 西四局,12 : 北一局,・・・,15: 北四局)cha
- 自分の家(0 : 東,1 : 南,2 : 西,3 : 北)public void onEndKyoku(int reason, int[] score_inc)
reason
- 局が終了した理由。定数 MJEK_XXX のどれか。score_inc
- 点数の変化をあらわす int[4] への参照。この配列の値はそれぞれ自分、下家、対面、上家の点数の変化分をあらわす。public int onBashogime(int[] nokori)
nokori
- 場所決めに使う4つの牌の現在の状態を表す int[4] への参照。 左端の牌が nokori[0],右端の牌が nokori[3]に対応します。
値が4以上の牌が、まだ残っているものです。それ以外の牌は、0=東, 1=南, 2=西, 3=北 を表します。public int onSutehai(MJITehaiReader te, MJIHaiReader tsumohai)
te
- 自分の手牌tsumohai
- つもってきた牌。ない場合は null単に牌を捨てる場合 | MJPIR_SUTEHAI | x |
リーチをかける場合 | MJPIR_REACH | x |
ツモする場合 | MJPIR_TSUMO |
流す場合 | MJPIR_NAGASHI |
カンする場合 | MJPIR_KAN | hai_no |
public int onAction(int action, int player_no, int target_no, MJIHaiReader hai)
action
- 起こされたアクション。以下の表を参照。
捨て牌(リーチの場合を除く) | MJPIR_SUTEHAI |
捨て牌してリーチ | MJPIR_REACH |
ポン | MJPIR_PON |
チー(左端を鳴いた場合) | MJPIR_CHII1 |
チー(右端を鳴いた場合) | MJPIR_CHII2 |
チー(間を鳴いた場合) | MJPIR_CHII3 |
ミンカン | MJPIR_MINKAN |
アンカン | MJPIR_ANKAN |
ロン | MJPIR_RON |
ツモ | MJPIR_TSUMO |
流し | MJPIR_NAGASHI |
player_no
- アクションを起こした家(0=自分, 1=下家, 2=対面, 3=上家)target_no
- そのアクションの対象となった家(0=自分, 1=下家, 2=対面, 3=上家)hai
- そのアクションに関連する牌何もしない | 0 |
ポン | MJPIR_PON | flags |
チー(左端を鳴いた場合) | MJPIR_CHII1 | flags |
チー(右端を鳴いた場合) | MJPIR_CHII2 | flags |
チー(間を鳴いた場合) | MJPIR_CHII3 | flags |
カン | MJPIR_KAN |
ロン | MJPIR_RON |
public boolean onExchange(int state)
state
- 現在のゲームの状態。定数 MJST_XXX のどれか。public boolean isExchangeable()
|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |