Guido 5a6a1f363b Umbau zu "Wanted!"-Minigame
- Neues Spielprinzip: Fahndungsplakat + Feld voller Fuesse/Deko, gesuchten Fuss
  antippen bevor Timer ablaeuft; sofort neue Runde mit anderer Farbe.
- Progression: Raster -> wild verteilt -> Bewegung (2-3 Gruppen -> einzeln),
  Anzahl + Tempo steigen mit Score.
- Farben: 8 klar unterscheidbare Fuss-Farben (kein Braun/Hautton-Doppel) ->
  die gesuchte Farbe kommt garantiert nur EINMAL vor.
- Serverseitige Rangliste (data/leaderboard.json), Top 10 auf der Startseite,
  Name einmalig abgefragt + in localStorage gecacht.
- Reset per Befehl: npm run reset-stats
- Server stark vereinfacht (/api/feet, /api/leaderboard, /api/score); Pan/Zoom-,
  Wimmelbild- und Szenen-Generator-Code entfernt.
- WANTED-Plakat groesser, Timer schlanker, Startseite sauber zentriert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00
2026-08-04 21:57:13 +02:00

fuesse.sexy — „Wanted!" 🦶

Ein kleines Arcade-Spiel nach dem Vorbild des „Wanted!"-Minispiels aus New Super Mario Bros.: Oben ein Fahndungsplakat mit einem gesuchten Fuß, unten wuseln viele Füße (in verschiedenen Farben) + etwas Deko herum. Schnapp dir den gesuchten Fuß, bevor die Zeit abläuft — dann kommt sofort ein neues Plakat mit einer anderen Farbe.

  • Zeitdruck: Countdown; jeder Treffer gibt Zeit dazu, Fehlklick zieht Zeit ab. Bei 0 → Game-Over.
  • Wird schwerer: erst ordentliches Raster, dann wild verteilt, dann Bewegung (erst in 23 Gruppen, später einzeln) — und je weiter, desto schneller und mehr Füße.
  • Gesucht ist immer ein Fuß, aber die Farbe wechselt jede Runde — nicht auf Autopilot klicken!
  • Rangliste: die Top 10 auf der Startseite, serverseitig gespeichert. Nach dem Spiel wird einmal nach dem Namen gefragt (danach gecacht).

Installation

./install.sh

Das Skript installiert alles Nötige, startet den Server im Hintergrund und zeigt die URL. Dann im Browser öffnen: http://:3000 (lokal: http://localhost:3000).

Manuell: npm install && npm start.

Die Füße & Deko erweitern

Alle Bildchen liegen in library/:

library/
  feet/    ← die Füße (= die gesuchten Figuren). Farbe = Dateiname.
  props/   ← Deko ("andere Bildchen") als Zusatz-Ablenker.

Neue Bildchen einfach in den passenden Ordner legen und Server neu starten — fertig. Formate: .svg, .png, .webp, .jpg. Für Füße gilt: mind. 2 in library/feet/ (mehr = mehr Farb-Vielfalt). Am besten freigestellt (transparenter Hintergrund), grob quadratisch.

Woher Bildchen nehmen?

openclipart.org (CC0), svgrepo.com (CC0-Filter), kenney.nl (CC0), pixabay.com. Bei Flaticon/Freepik Namensnennung beachten.

Feintuning

In public/js/app.js oben:

  • START_TIME, MAX_TIME, BONUS, PENALTY — Timer/Balance.
  • difficulty(score) — Anzahl, Bewegungs-Stufen (grid/scatter/groups/individual) und Tempo je Score.

Rangliste

  • Gespeichert in data/leaderboard.json (wird automatisch angelegt, überlebt Neustarts).
  • Endpoints: GET /api/leaderboard (Top 10), POST /api/score {name, score}.
  • Namen werden beim Anzeigen escaped (kein XSS). Kein Anti-Cheat — Spaßspiel.

Deployment (Ausblick)

Normaler Node-Server. Auf einen Node-Host bringen (VPS/LXC/Railway/Render), ./install.sh, Domain fuesse.sexy per Reverse-Proxy (z.B. Nginx Proxy Manager) darauf zeigen. Für HTTPS hinter Cloudflare: DNS-Challenge (Cloudflare-Token) im Proxy nutzen.

Projektstruktur

server/index.js   schlanker Express-Server (Bildchen-Liste + Rangliste)
public/           Frontend (Startseite, Spiel, Game-Over) — Vanilla JS
library/feet/     die Füße (gesuchte Figuren)
library/props/    Deko-Ablenker
data/             Rangliste (leaderboard.json, zur Laufzeit)
install.sh        Ein-Befehl-Setup + detached Start
Description
No description provided
Readme 810 KiB
Languages
JavaScript 73.7%
HTML 13%
CSS 9.2%
Shell 4.1%