神経衰弱 その3
神経衰弱のJavaソースコード解説 2回目
それでは、神経衰弱のソースコードを続きを解説していきます。
059 060
// カードの出力 private static void outputCards()
062
for ( int i = 0; i < cards.length; ++ i ) {
064
switch ( statuses[ i ] ) {
switch文にカード状態を与えて、その状態ごとに処理を分岐しています。
065 066 067
case STATUS_HIDE: System.out.print( "*" ); break;
状態がSTATUS_HIDEの処理です。これは、カードが伏せられた状態なので番号ではなく半角のアスタリスク'*'を出力しています。
069 070
case STATUS_OPEN: case STATUS_PAIR:
状態がSTATUS_OPENとSTATUS_PAIRの処理です。これは、カードがオープンした状態と既にペアになっている状態の処理です。ここでは、いずれの状態でも番号を出力するようにしています。
071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090
switch ( cards[ i ] ) { case 10: System.out.print( "A" ); break; case 11: System.out.print( "J" ); break; case 12: System.out.print( "Q" ); break; case 13: System.out.print( "K" ); break; default: System.out.print( cards[ i ] ); break; } break;
switch文を使ってカード番号を出力しています。カード番号が1~9の場合は、その数字を出力しています。(case default:)
カード番号が10の場合は半角の'A'、11の場合は半角の'J'、12の場合は半角の'Q'、13の場合は半角の'K'を出力しています。
093 094 095
// カード13枚ごとに改行
if ( 0 == ( ( i + 1 ) % 13 ) )
System.out.println();
出力したカード数が横13個になるようにprintlnメソッドで改行しています。カード番号の出力にはprintメソッドを使っているので改行されず横方向に出力されます。
097 098
// 改行
System.out.println();
最後に改行して終了しています。