Files
platz/cfg/strafen.cfg
T
Michael Stangl 4f87895303 Abstandsstrafe fuer getrennte Gruppen + Verbindungslinien-Optionen
- strafen.cfg: neuer optionaler Abschnitt [Abstand] mit Faktor je
  normierter Abstandseinheit (0..100, bezogen auf die max. Ausdehnung
  der Tischanordnung)
- Strukturdaten.py: Strafliste.AbstandFaktor, gibPunkte('Abstand',...),
  bewerten() bestraft den max. Tisch-Tisch-Abstand getrennter Gruppen;
  abwaertskompatibel (fehlt der Abschnitt -> Faktor 0)
- platz.py: --show-/--hide-connections steuern die Verbindungslinien
  getrennter Gruppen in der SVG
- work/*, doc/images/*: Beispiele neu durchgerechnet

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 13:47:49 +02:00

32 lines
1.3 KiB
INI

# Strafpunkte fuer die Trennung einer Gruppe:
# Aufbau: Anzahl der Trennungen = { Gruppengroesse:Strafpunkte, .. }
[Trennung]
1={ 2:-10, 3:-8, 4:-6, 6:-4, 10:-2 }
2={ 3:-20, 4:-8, 6:-6, 10:-4 }
3={ 4:-30, 6:-10, 10:-6 }
# Wieviele Strafpunkte bekommt man
# wenn zwei Gruppen nicht am Nachbartisch sitzen
# wenn einer aus einer Gruppe allein sitzen muss
[Globals]
NichtNachbar=-3
Allein=-30
TischWertigkeiten={ 1:-3, 2:-2, 3:-1 }
# TischWertigkeiten sind Strafpunkte fuer schlechte Ausnutzung der
# freien Sitze an einem Tisch.
# An einem Tisch, der bis auf einen Platz voll besetzt ist,
# kann niemand mehr gut dazu. wenn zwei Plaetze frei sind, ist das etwas besser.
# Strafpunkte fuer den Abstand zwischen getrennten Teilen einer Gruppe.
# Wird eine Gruppe auf mehrere Tische aufgeteilt, ist ein grosser raeumlicher
# Abstand zwischen den Teilen viel schlechter als ein kleiner.
# Der Abstand wird als normierter Wert 0..100 berechnet: Bezugsgroesse ist die
# maximale Ausdehnung der Tischanordnung (Breite oder Laenge). Ein Abstand von
# 100 heisst also, dass ein Gruppenteil ganz links/oben und der andere ganz
# rechts/unten sitzt.
# Faktor = Strafpunkte je normierter Abstandseinheit. Bei Faktor=-0.2 kostet
# der maximal moegliche Abstand (100) demnach -20 Punkte.
[Abstand]
Faktor=-0.2