Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

⚾ 野球ゲーム(主審視点バッティング)

Java Swing Dependencies

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方式で、球種ごとに変化量をパラメータ化
  • 投手・打者・捕手は多関節の手続き描画(画像アセット不使用)

About

⚾ 主審視点の3D風バッティングゲーム(Java Swing製)。8球種をタイミングよく打ち返し、走者を進めて得点を競う。依存ライブラリなし・2ファイルで動作。

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages