No description
Find a file
2026-08-04 07:13:45 +02:00
icons feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
.gitignore feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
background.js feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
generate_icons.py feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
manifest.json feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
popup.css feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
popup.html feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
popup.js feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00
README.md feat: initialize Tab Shooter Chrome extension game 2026-08-04 07:13:45 +02:00

🚀 Tab Shooter

A small Chrome browser game that turns your open tabs into targets. Pilot a spaceship, blast the tabs you no longer need, and they really get closed.

Für alle, die zu viele Tabs offen haben. Schieß sie ab — und sie verschwinden wirklich.


📦 Installation (in Chrome laden)

  1. Chrome öffnen → chrome://extensions aufrufen.
  2. Oben rechts den Entwicklermodus (Developer mode) einschalten.
  3. Auf „Entpackt laden“ (Load unpacked) klicken.
  4. Den Ordner tab-shooter auswählen.
  5. Das Tab-Shooter-Icon 🚀 erscheint in der Toolbar. Anklicken → Spiel startet.

Nach Code-Änderungen in popup.js/manifest.json die Extension auf chrome://extensions einfach neu laden (🔄-Button).


🎮 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.

Steuerung

Aktion Tastatur Maus
Bewegen oder A D Maus bewegen
Schießen Leertaste Klick (halten)

Features

  • Echte Tabs als Gegner Favicon & Titel, verknüpft via Tab-ID.
  • Bewegte Gegner manche sind „feindlich" und schießen zurück.
  • Power-Ups (zufälliger Drop):
    • 🔫 Triple Shot drei Schüße gleichzeitig (6 s)
    • Rapid Fire schnellere Schussfolge (6 s)
    • 🛡️ Shield absorbiert einen Treffer
  • Score & Highscore gespeichert via chrome.storage.local.
  • 3 Leben, danach Game Over mit Statistik.

🗂 Projektstruktur

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
├── background.js        # Service Worker (MV3)
├── generate_icons.py    # Icon-Generator (pure stdlib, keine Abhängigkeiten)
├── README.md
└── icons/
    ├── icon16.png
    ├── icon48.png
    └── icon128.png

🔐 Berechtigungen & Privatsphäre

Permission Zweck
tabs Offene Tabs lesen (Titel, Favicon, ID) und getroffene Tabs schließen.
favicon Favicons über die _favicon-API laden.
storage Highscore lokal speichern.

Es werden keine Inhaltsdaten (Page content) von Tabs gelesen — nur Titel und Favicon-URL. Tabs werden ausschließlich dann geschlossen, wenn sie im Spiel getroffen wurden. Der aktive Popup-Tab und interne chrome://-Seiten sind nie Ziele.


🛠 Icons neu generieren

Falls du die Icons anpassen willst (Farben, Form in generate_icons.py):

python generate_icons.py

Das Skript nutzt nur die Python-Standardbibliothek (zlib + struct) — keine PIL nötig.


Viel Spaß beim Aufräumen! 🛸💥