神経衰弱 その5
神経衰弱のJavaソースコード解説 4回目
それでは、神経衰弱のソースコードを続きを解説していきます。
203 204
// メイン public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
205 206
// カードの初期化
initCards();
208 209
// 状態の初期化
initStatuses();
カードの状態を初期化します。配列statuesにSTATUS_HIDEを格納します。
211 212
// 記憶の初期化
initMemory();
1度オープンしたカードの記憶を初期化します。配列memoryに0を格納します。
214 215 216
// 神経衰弱本体 // 無限ループを作成(ループを抜ける条件をなし) for ( int turn = 1; ; ++ turn ) {
217 218
// ターン番号の出力 System.out.println( "ターン:" + turn );
カードをめくった回数を出力しています。
220 221
// カードを出力(オープン前の状態)
outputCards();
現在のカードの状態を出力しています。
223 224
// カードをランダムに1枚オープン int cardnum1 = openCard();
226 227 228 229 230 231 232 233
// 記憶しているカードがあればそのカードをオープン if ( !openMemoryCard( cardnum1 ) ) { // カードをランダムに1枚オープン int cardnum2 = openCard(); } else { System.out.println( "記憶からカードをオープン!" ); }
オープンしたカード番号crdnum1をopenMemoryCardメソッドに渡しています。カード番号crdnum1が記憶されている場合、openMemoryCardメソッドの中でカードをオープンします。
235 236
// カードを出力(オープン後の状態)
outputCards();
オープンしたカードの状態を出力しています。
238 239 240 241 242
// オープンしているカードがペアかどうか判定
if ( isPair() )
replaceStatus( STATUS_OPEN, STATUS_PAIR );
else
replaceStatus( STATUS_OPEN, STATUS_HIDE );
オープンした2枚のカード番号が同じかを判定し、同じであればオープンしたカードを揃った状態に変更しています。(STATUS_OPENからSTATUS_PAIR)
違う場合、オープンしたカードを伏せた状態にもどします。(STATUS_OPENからSTATUS_HIDE)
244 245 246
// 全てペアになったらループを抜ける if ( 52 == getStatusNumber( STATUS_PAIR ) ) break;
249 250 251
// カードの最終結果を出力 System.out.println( "最終結果" ); outputCards();
最後にカードの状態を出力して終了します。
以上です。