わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

野球の得点計算プログラム,今年は?

 後期授業は1か月以上先ですが,プログラミングによい題材が,見つかりました.

 ◆2021年選手権大会 決勝
 智弁和歌山 400 001 121 : 9
 智弁学園  020 000 000 : 2

 昨日の決勝戦は,先攻の「智弁和歌山」が1回に4点を取り,中終盤に突き放して勝利を収めました.
 このスコアが,野球の得点計算プログラムに,ちょうどいいのです.
 2次元配列を活用するプログラムとして,毎年,打ち込んでもらっている課題です.2次元配列に格納しておく値,各回表裏の得点を,今年度は上記にしようというわけです.
 各チームの挙げた得点,「9」と「2」は,配列に格納しません.for文を使用して配列を順に参照し,足し算で求めます.
 2次元配列の初期値は,毎年,変えています.いつも,先攻が勝つ試合にしています.後攻チームの勝利で9回の裏に「X」を書く試合や,サヨナラ勝ち・延長戦のスコアを配列に入れて,適切に出力するといったものは,発展課題にしているからです.
 この決勝のスコアは,プログラミングとして別方向の面白さも持っているように感じました.1試合分,9回までのスコアを求められるようになったら,回を指定して,その回までの各チームの得点を計算します.例えば5回までなら,出力はこうです:

W || 4 | 0 | 0 | 0 | 0 || 4
C || 0 | 2 | 0 | 0 | 0 || 2

 こうすると,緊迫した状態で前半を終えた*1と見ることができます.実況では「次に点を取ったほうが,ゲームを優位に進める」とか言うものです---試合はその後,6~9回に「智弁和歌山」が小刻みに点を取り,終わってみると大差になったのでした.
 さて,出力を書いたところで,「智弁和歌山」と「智弁学園」という校名を,プログラムでどのように表現すべきかという課題が浮上しました.これまで,写経課題としては,チーム名の出力は行っていません.先攻後攻のチーム名---文字列なので各回の点数の配列に格納できない---を適切に出力することも,発展課題なのでした.
 日本語文字を使用して,差し支えはありませんが,授業としては好きではありません.かといって,"Chibenwakayama"と"Chibengakuen "は,字数が多くて少し大変です.
 上記では"W"と"C"にしましたが,これは略しすぎです.
 実際の授業までに,もう少し,見直すとします.

*1:実際の試合でも,6回が始まる前にグラウンド整備が入っていました.