Java Swing で作った、主審(キャッチャー後方)視点のバッティングゲームです。 奥から向かってくるボールを SPACEキー一つ でタイミングよく打ち返します。
外部ライブラリ不要・ソースファイル2つだけで動く、シンプルなアーケード風ゲームです。
- 主審視点の疑似3D演出 — 投手の腕から放たれたボールが遠近感を伴って手前に迫ってくる
- 8種類の球種 — それぞれ軌道・速度が異なり、球種を読んでタイミングを合わせる駆け引きが楽しめる
- 実際の野球ルールを再現 — ボール/ストライクカウント、三振・四球、走者の進塁と生還による得点
- ホームラン演出 — スタンドの歓声フラッシュと星のエフェクト
- 歴代ランキング — 得点がトップ10に入るとニックネームを登録、
ranking.txtにローカル保存 - 依存ゼロ — JDK さえあればコンパイルしてすぐ遊べる
| 操作 | 説明 |
|---|---|
| SPACE | ゲーム開始 / スイング / リスタート |
- ストライクゾーン(黄枠)に来る球を SPACE で打つ
- 3ストライクで三振、4ボールで四球(押し出しで進塁)
- ヒットの種類に応じて走者が進塁し、ホームに生還すると得点
- 単打 = 1塁ずつ / 二塁打 = 2つ / 三塁打 = 3つ / ホームラン = 走者全員生還
- 3アウトで試合終了。得点が歴代10位以内ならランキングに登録できます
| 球種 | 特徴 |
|---|---|
| ストレート | 速くまっすぐ。基本の球 |
| カーブ | 大きく曲がりながら落ちる |
| フォーク | 手元でストンと落ちる |
| スライダー | 横に鋭く滑る |
| チェンジアップ | ストレートに見えて遅い |
| ナックル | 不規則に揺れる魔球 |
| スクリュー | スライダーと逆方向に曲がる |
| イーファス | 超スローの山なりボール |
JDK 8 以上が必要です。
javac -encoding UTF-8 BaseballGame.java BaseballPanel.java
java BaseballGame| ファイル | 役割 |
|---|---|
BaseballGame.java |
エントリポイント(JFrame の生成) |
BaseballPanel.java |
ゲーム本体(描画・物理・ルール・ランキングすべて) |
ranking.txt |
ランキング保存ファイル(初回実行時に自動生成) |
- 描画は
javax.swing.Timerによるフレーム更新 +paintComponentのカスタム描画のみで実装 - ボールの軌道は 3D 座標を 2D に射影する疑似3D方式で、球種ごとに変化量をパラメータ化
- 投手・打者・捕手は多関節の手続き描画(画像アセット不使用)