午後問11問題文と解答用紙を別タブで開けます(印刷可能)。ソフトウェア開発(Java)次のJavaプログラムの説明及びプログラムを読んで,設問1,2に答えよ。〔プログラムの説明〕リバーシゲームで2人のプレーヤの対戦を支援するプログラムである。リバーシは,8行8列の升からなる盤に,2人のプレーヤが,一方の面が白,他方の面が黒の石を置いていき,盤上の石の個数を競うゲームである。各プレーヤは自分の石の色(白又は黒)をもつ。盤には,初期状態として,図1のとおり中央に白黒2個ずつの石を配置する。升の位置は,列をアルファベット,行を数字で表し,列・行の順に指定する。図1で最も左上の升はa1,最も右下の升はh8である。自分の色の石で挟まなければならない。このとき,挟んだ相手の石をすべて反転させ自分の色の石とする。図2に,黒をもつプレーヤが盤に石を置く例を示す。(ア)は図1の中央部分を抜き出したものであると(イ)は,黒を升f5に置いて,升e5の白を挟んだ状態である。(ウ)は,挟んだ白を反転させて黒にした状態である。相手の石を挟むことができないときは,そのプレーヤは石を置くことができないので,手番をパスする。片方の色の石が盤上からなくなったとき,すべての升が石で埋まったとき,又は空いているどの升にも石が置けなくなったとき,ゲームは終了し,自分の色の石の個数の多い方のプレーヤが勝ちとなる。