cocode.dk EN FA
◈

BATTLESHIP

[ NAVAL COMMAND SYSTEM ]

Your Fleet. Your Strategy. Your Glory.

SINK THE ENEMY FLEET — EARN YOUR RANK — LEAVE NO SHIP STANDING

⚓ GET THE APP SOURCE CODE

THE BRIEFING

The enemy fleet lurks somewhere in those waters. Your sonar has detected their presence, but their exact positions remain unknown. Somewhere in that 10×10 grid of grey sea and silence, five ships wait — a Carrier, a Battleship, a Cruiser, a Submarine, a Destroyer. Your orders are simple: find them. Sink them. All of them.

Deploy your own fleet with care — placement is strategy. Then fire your first shot into the fog. A ping. A splash. A hit. Each sunken enemy ship delivers a super weapon into your arsenal — a Carpet Bomb, a Barrage, a Sonar Sweep, a Torpedo Spread, a Precision Strike. Use them wisely. The AI opponent thinks. It hunts. It adapts.

Every battle writes your record. Hit percentages, win streaks, medals awarded at the end of each battle — they all accumulate in your career file. Rise from Cadet to Fleet Admiral. Prove your command is flawless. The ocean doesn't forgive hesitation. Neither does the enemy.

THE FLEET

CARRIER
5 CELLS — LARGEST SHIP
💣 Unlocks CARPET BOMB on sink
BATTLESHIP
4 CELLS
💥 Unlocks BATTLESHIP BARRAGE on sink
CRUISER
3 CELLS
📡 Unlocks SONAR SWEEP on sink
SUBMARINE
3 CELLS
🐠 Unlocks TORPEDO SPREAD on sink
DESTROYER
2 CELLS — SMALLEST SHIP
🎯 Unlocks PRECISION STRIKE on sink

SUPER WEAPONS

💣
CARPET BOMB
3×3 area bombardment — 9 cells obliterated in a single strike. The most devastating area weapon in the arsenal.
Unlocked by sinking the enemy CARRIER
💥
BATTLESHIP BARRAGE
9-cell cross saturation fire — a plus-shaped pattern punching through center row and center column.
Unlocked by sinking the enemy BATTLESHIP
📡
SONAR SWEEP
5-cell horizontal ping centred on the target cell, clipped at the board edge.
Unlocked by sinking the enemy CRUISER
🐠
TORPEDO SPREAD
5-cell vertical salvo centred on the target cell, clipped at the board edge — depth attack delivered from the deep.
Unlocked by sinking the enemy SUBMARINE
🎯
PRECISION STRIKE
5-cell X-pattern surgical strike — diagonal cross centred on the target, clipped at the board edge — in a corner it lands on just 2 cells.
Unlocked by sinking the enemy DESTROYER

MEDALS & HONOURS

33 medals, awarded when a battle ends, accumulate in your career file.

⭐ LEGENDARY
💎
PERFECT GUNNER
Win a game with zero misses — every shot connects.
⚡ EPIC
🎯🎯
DEAD-EYE
Finish with 80%+ accuracy (minimum 10 shots fired).
⚡
UNSTOPPABLE
Land 8 consecutive hits without a single miss.
👑
FLAWLESS VICTORY
Win with all 5 of your ships still afloat.
🔥🔥
ON FIRE
Win with a streak of 3+ consecutive victories.
◈ RARE
🎯
FIRST BLOOD
Your very first shot of the game is a direct hit.
🏹
SHARPSHOOTER
Finish with 60%+ accuracy (minimum 10 shots fired).
🔥
HOT STREAK
Land 5 consecutive hits without a miss.
🐋
LEVIATHAN SLAYER
The first ship you sink is the enemy Carrier.
🤫
SILENT SERVICE
Your Submarine survives the entire battle untouched.
🛡️
LAST STAND
Win with only a single ship remaining in your fleet.
🏊
SWIM FOR IT
Lose a game without landing a single hit on the enemy.
◎ COMMON
🚤
DESTROYER LIVES
Your Destroyer survives the entire battle untouched.
🌫️
FOG OF WAR
Miss 10 consecutive shots in a row — the ocean keeps its secrets.
💣
DEPTH CHARGE DIPLOMAT
Fire 100 or more shots in a single game.

RANK PROGRESSION

Ranks are determined by your best single-game score. Every hit, every sunk ship, every speed bonus pushes your score — and your career — higher.

🎖️ CADET
0+ pts
⚓ ENSIGN
350+ pts
🔵 LIEUTENANT
700+ pts
🟢 CAPTAIN
1100+ pts
🌀 COMMODORE
1500+ pts
💜 VICE ADMIRAL
2000+ pts
🟠 ADMIRAL
2600+ pts
⭐ FLEET ADMIRAL
3500+ pts

SENSES OF WAR

💥
HIT FLASH
A white burst erupts on hit cells and fades over 500ms — the visual confirmation of a direct strike.
🔴
SUNK GLOW
Sunk ship cells pulse with a red glow animation — infinite, relentless, marking your victories in the grid.
🟠
AI TURN INDICATOR
Amber pulse blinks while the AI calculates its next attack — time slows when the enemy thinks.
🔊
PCM HIT SOUND
Two-tone impact: 1800Hz dropping to 1000Hz. Synthesized in code — no audio files shipped with the app.
💧
PCM MISS SOUND
Descending sweep from 500Hz down to 150Hz — the hollow sound of a shell vanishing into the deep.
💀
PCM SUNK SOUND
Explosive bass rumble layered with noise — the unmistakable sound of a ship breaking apart.
🎺
PCM WIN FANFARE
Ascending victory fanfare — a C-E-G-C chord sequence rising to mark your command of the seas.
📡
PCM SONAR PING
A sharp 2200Hz blip fires when you select a super weapon — the sonar saying: target acquired.

CAREER COMMAND

Three dedicated screens accessible from the main menu: CAREER STATS shows your rank and career numbers; MEDAL REGISTRY shows all 33 medals as hexagonal Canvas art with per-badge earn counts; BADGES lists the same 33 awards with the condition for each. Records persist across app restarts.

⭐
FLEET ADMIRAL
HIGHEST RANK EARNED
Games Played
47
Victories
31
Win Rate
65.9%
Longest Streak
7
Medal Registry — lifetime earn counts
💎×3   🎯🎯×1   ⚡×2   👑×1   🎯×8   🏹×5   🔥×4   🐋×2   🤫×1   🛡️×1   🚤×3

TACTICAL OVERVIEW

◎

OFFLINE PLAY

No server, no network. Runs entirely on your device. Works anywhere, any time.

◈

AI OPPONENT

Hunt/target algorithm with checkerboard parity — a real tactical challenge that adapts.

⊞

10×10 TACTICAL GRID

5-ship fleet on a full-size Battleship grid. Place manually or use auto-deploy.

💣

5 SUPER WEAPONS

Carpet Bomb, Barrage, Sonar Sweep, Torpedo Spread, Precision Strike. Earn them by sinking ships.

🏅

33 MEDALS

Four rarity tiers: Legendary, Epic, Rare, Common. Dedicated Medal Registry screen with hexagonal Canvas art and lifetime earn counts per badge.

⭐

8 MILITARY RANKS

Cadet to Fleet Admiral. Your best score determines your career rank.

🔊

PCM AUDIO

Synthesized hit, miss, sunk, win, and sonar ping sounds — zero audio files bundled.

🚫

NO ADS · NO ACCOUNT

Free, open-source, Apache-2.0. No tracking, no sign-in, no paywalls.

BUILD FROM SOURCE

# Clone the repository git clone https://github.com/cocodedk/Battleship.git cd Battleship # Build debug APK ./gradlew assembleDebug # Run unit tests ./gradlew test # Full CI smoke check (debug + tests + lint) ./gradlew buildSmoke # Output APK app/build/outputs/apk/debug/app-debug.apk

ARCHITECTURE

Kotlin 2.2.10 · Jetpack Compose BOM 2026.02.01 · Material3 Navigation Compose · Coroutines · Min SDK 24 (Android 7.0) Clean Architecture + MVVM — single GameViewModel across all screens domain/ ← Pure Kotlin, zero Android deps, fully testable model/ ← Ship, Board, ShipType, CellState, GamePhase, SuperWeapon ai/ ← BattleshipAI (stateless hunt/target algorithm) presentation/ ← Android / Jetpack Compose navigation/ ← BattleshipNavHost, Screen (sealed class routes) menu/ ← MenuScreen placement/ ← PlacementScreen game/ ← GameScreen, GameOverScreen, GameViewModel, GameUiState components/ ← BattleGrid (reusable board composable) medals/ ← MedalsScreen, MedalCanvas (hex art), MedalSymbols, MedalsViewModel, MedalsStorage, SharedPreferencesMedalsStorage stats/ ← StatsScreen
⚓

DOWNLOAD & DEPLOY

Free, open-source, offline. No account. No network. Install the app and take command.

cocode.dk