How ardhian-ahmad/benteng-pecahan works
Benteng Pecahan is a browser-based educational tower-defense game for learning fractions, decimals, and percentages. Players answer quiz questions while defending against enemy waves with placeable and upgradeable towers; the game tracks the team score and submits it to an online leaderboard. The source excerpt shows the game engine and entity behavior, while the README documents the gallery and cloud leaderboard. Some UI wiring and leaderboard details are only partially sampled, so the graph omits uncertain internal links.
Main entry points: app.js Game Engine · index.html Game UI · towers.js Tower Configuration · enemies.js Enemy Configuration
Components 16
Game Interface
- Game UI
index.html - Responsive Styling
style.css
Game Runtime
- Game Engine
app.js - Quiz Flow
app.js - Wave Progression
app.js - Tower Defense
app.js - Combat Entities
app.js - Canvas Rendering
app.js - Synth Audio
app.js - Dynamic Gallery
app.js - Score & Results
app.js
Game Data
- Quiz Banks
questions.js - Tower Configuration
towers.js - Enemy Configuration
enemies.js
External Service
- Google Sheets
Other components
- Player / Team
Connections 20
- Player / Team → Game UI: uses
- Game UI → Game Engine: provides controls
- Game Engine → Quiz Flow: runs
- Quiz Flow → Quiz Banks: reads questions
- Game Engine → Wave Progression: runs
- Wave Progression → Enemy Configuration: reads enemy stats
- Game Engine → Tower Defense: handles placement
- Tower Defense → Tower Configuration: reads tower stats
- Tower Defense → Combat Entities: creates combatants
- Wave Progression → Combat Entities: spawns enemies
- Combat Entities → Score & Results: updates score
- Game Engine → Canvas Rendering: draws game
- Game Engine → Synth Audio: plays effects
- Game Engine → Dynamic Gallery: builds gallery
- Dynamic Gallery → Tower Configuration: reads tower stats
- Dynamic Gallery → Enemy Configuration: reads enemy stats
- Score & Results → Game UI: shows results
- Game UI → Responsive Styling: styled by
- Score & Results → Google Sheets: submits and retrieves scores
- Google Sheets → Score & Results: returns leaderboard