feat: add fullscreen mode and extract shared game engine
- Add new fullscreen game mode playable in a dedicated browser tab - Extract shared game logic into `engine.js` to be used by both popup and fullscreen modes - Implement self-protection to prevent closing the game tab or popup tab - Update documentation and bump version to 1.1.0
This commit is contained in:
parent
0f566b02ac
commit
25fc6fb345
8 changed files with 1064 additions and 798 deletions
38
README.md
38
README.md
|
|
@ -22,11 +22,29 @@ Pilot a spaceship, blast the tabs you no longer need, and they really get closed
|
|||
|
||||
## 🎮 Spielen
|
||||
|
||||
1. Auf das Toolbar-Icon klicken.
|
||||
2. Wählen: **Aktuelles Fenster** oder **Alle Fenster**.
|
||||
3. **SPIEL STARTEN** drücken.
|
||||
4. Deine echten Tabs erscheinen als gegnerische Raumschiffe (mit echtem Favicon + Titel).
|
||||
5. Schießen — jeder Tab, den du triffst, wird in Chrome **wirklich geschlossen**.
|
||||
### Zwei Spielmodi
|
||||
|
||||
| Modus | Wie |
|
||||
|---|---|
|
||||
| **Popup** (kompakt, 420×600) | Toolbar-Icon klicken → **SPIEL STARTEN** |
|
||||
| **Vollbild** (eigener Tab, bis 900×680) | Toolbar-Icon klicken → **🖥️ Im Vollbild spielen** |
|
||||
|
||||
Im Vollbild-Modus öffnet sich das Spiel in einem eigenen Tab. Dieser Tab
|
||||
ist **geschützt** – er taucht nie als Ziel auf und lässt sich nicht abschießen.
|
||||
Perfekt, wenn du mehr Platz und eine bessere Übersicht willst.
|
||||
|
||||
### Ablauf
|
||||
|
||||
1. Modus wählen & Scope wählen: **Aktuelles Fenster** oder **Alle Fenster**.
|
||||
2. **SPIEL STARTEN** drücken.
|
||||
3. Deine echten Tabs erscheinen als gegnerische Raumschiffe (mit echtem Favicon + Titel).
|
||||
4. Schießen — jeder Tab, den du triffst, wird in Chrome **wirklich geschlossen**.
|
||||
|
||||
> 🛡️ **Selbstschutz:** Folgende Tabs sind nie Ziele:
|
||||
> - der Tab, der das Popup trägt (sonst würde sich das Spiel selbst beenden)
|
||||
> - der Game-Tab im Vollbild-Modus
|
||||
> - alle internen Chrome-Seiten (`chrome://`, `devtools://`, …)
|
||||
> - alle Seiten dieser Extension selbst
|
||||
|
||||
### Steuerung
|
||||
|
||||
|
|
@ -53,9 +71,13 @@ Pilot a spaceship, blast the tabs you no longer need, and they really get closed
|
|||
```
|
||||
tab-shooter/
|
||||
├── manifest.json # MV3-Manifest, Berechtigungen
|
||||
├── popup.html # Overlay-UI: Start-, Spiel- & Game-Over-Screen
|
||||
├── popup.css # Space-Theme Styling
|
||||
├── popup.js # Game-Engine + Chrome-API-Anbindung
|
||||
├── engine.js # Geteilte Game-Engine (Klasse TabShooterGame)
|
||||
├── popup.html # Popup-UI (kompakt)
|
||||
├── popup.css # Shared Space-Theme Styling
|
||||
├── popup.js # Popup-Controller (nutzt engine.js)
|
||||
├── game.html # Vollbild-UI (eigener Tab)
|
||||
├── game.css # Vollbild-Overrides
|
||||
├── game.js # Vollbild-Controller (nutzt engine.js)
|
||||
├── background.js # Service Worker (MV3)
|
||||
├── generate_icons.py # Icon-Generator (pure stdlib, keine Abhängigkeiten)
|
||||
├── README.md
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue