How sashabilenko9-glitch/football-heads-2026 works
Kopf-Fußball 2026 is a local two-player Swing football game. Players enter through the main menu, choose teams, then play a timed match using keyboard or on-screen controls; the game handles physics, goals, golden-goal overtime, and a goal-by-goal finish with rematch or menu options. The graph separates navigation, match orchestration, simulation entities, and presentation. README and sampled source support the main flow; several UI and window connections are documented but their implementation was not sampled.
Main entry points: GamePanel.java Match controller · MenuPanel.java Main menu · TeamSelectPanel.java Team selection · Ball.java Ball physics
Components 19
Navigation
- Application entry
src/main/java/com/footballheads/Main.java - Main menu
src/main/java/ui/MenuPanel.java - Controls screen
src/main/java/ui/ControlsPanel.java - Team selection
src/main/java/ui/TeamSelectPanel.java
Match runtime
- Game window
src/main/java/com/footballheads/GameFrame.java - Match controller
src/main/java/com/footballheads/GamePanel.java - Input manager
src/main/java/com/footballheads/InputManager.java
Game simulation
- Ball physics
src/main/java/entities/Ball.java - Player physics
src/main/java/entities/Player.java - Stadium
src/main/java/entities/Stadium.java - Goals
src/main/java/entities/Goal.java - Team data
src/main/java/entities/Team.java - Field constants
src/main/java/utils/Field.java
Presentation
- Touch controls
src/main/java/ui/MobileControlsPanel.java - Match HUD
src/main/java/ui/InGameUI.java - Pause menu
src/main/java/ui/PauseMenu.java - Localized text
src/main/java/com/footballheads/Messages.java - Translation resources
src/main/resources/i18n/messages_en.properties
Other components
- Local players
Connections 23
- Local players → Application entry: launches
- Application entry → Main menu: creates
- Main menu → Controls screen: opens
- Main menu → Team selection: opens
- Team selection → Game window: starts match
- Game window → Match controller: hosts
- Match controller → Input manager: reads input
- Touch controls → Match controller: sets mobile input
- Match controller → Ball physics: updates
- Match controller → Player physics: updates
- Match controller → Stadium: updates and draws
- Ball physics → Player physics: checks collisions
- Ball physics → Stadium: checks boundaries
- Stadium → Goals: owns
- Match controller → Goals: checks scoring
- Player physics → Field constants: uses physics constants
- Ball physics → Field constants: uses physics constants
- Team selection → Team data: selects
- Match controller → Match HUD: updates match display
- Match controller → Pause menu: opens
- Main menu → Localized text: requests text
- Team selection → Localized text: requests text
- Localized text → Translation resources: loads strings