usevote/usevote.rul

67 lines
3 KiB
Plaintext
Raw Normal View History

# UseVote (c) 1993,94 Ron Dippold, alle Rechte vorbehalten
# uebersetzt von Frederik Ramm
#
# Mit dieser Datei koennen spezielle Regeln fuer eine gueltige Stimmabgabe
# bei Mehrgruppenabstimmungen erstellt werden.
# Beispiel: Eine Gruppe soll aufgeteilt werden, und Du willst erzwingen,
# dass jemand, der fuer eine der neuen Untergruppen stimmt, auch fuer
# die .misc-Gruppe stimmen muss. Man kann eine Menge komplexe Sachen hier-
# mit machen, wenn man Programmierer ist :-)
#
# Das allgemeine Format sieht so aus:
# (a) alles, was mit # anfaengt, ist ein Kommentar.
# (b) "echte" Regeln sehen etwa so aus (natuerlich ohne #):
# if .jjjjj then J.....
#
# Eine Regel beginnt immer mit "if", und danach folgen eine Anzahl Symbole;
# diese Anzahl muss gleich der Anzahl der Gruppen sein, ueber die abgestimmt
# wird.
# Oben geht es also um eine Abstimmung ueber sechs Gruppen.
# Die Symbole zwischen 'if' und 'then' geben an, welche Bedingungen erfuellt
# sein muessen, damit das System auch die Bedingungen hinter then prueft.
#
# Nach 'then' folgen nochmal so viele Symbole, die angeben, welche Bedin-
# gungen erfuellt sein muessen, falls die Bedingungen zwischen 'if' und
# 'then' erfuellt waren. Jeder Wahlschein, auf den das nicht zutrifft, ist
# ungueltig.
#
# Folgende Symbole sind erlaubt:
# J eine JA-Stimme
# N eine NEIN-Stimme
# E eine Enthaltung
# S eine JA- oder NEIN-Stimme
# I eine Enthaltung oder NEIN-Stimme
# . egal (Ja, nein oder Enthaltung)
# j eine oder mehrere der markierten Gruppen hat JA-Stimme
# n "" "" "" "" "" "" "" NEIN-Stimme
# e "" "" "" "" "" "" "" Enthaltung
# s "" "" "" "" "" "" "" Ja- oder Nein-Stimme
# i "" "" "" "" "" "" "" Enthaltung oder Nein-Stimme
#
# Alles klar? Jede Stimme wird mit den Symbolen verglichen, und wenn alle
# Kriterien passen, ist der Ausdruck wahr. Wenn der erste Ausdruck (if x)
# wahr ist, muss auch der zeite (then y) wahr sein, sonst ist der Wahlschein
# ungueltig. Ein Beispiel:
# if .jjjjj then J.....
# Das heisst: Wenn der Waehler fuer *irgendeine* ausser der ersten Gruppe mit
# JA stimmt, dann *muss* er JA fuer die erste Gruppe stimmen, oder das ganze
# ist ungueltig.
# Das koennte z.B. eine Gruppenaufteilung sein, wo fuer die erste (die .misc)-
# Gruppe gestimmt werden *muss*, wenn fuer eine der anderen gestimmt wird.
#
# Hier noch ein Beispiel:
# if S... then .ss.
# if .S.. then ..E.
# if ..S. then .E..
# Diese Regeln sagen: Wer fuer die erste Gruppe abstimmt, der muss auch fuer
# die zweite und dritte Gruppe abstimmen - egal wie. Ausserdem muss er (Re-
# geln 2 und 3) sich bei 3 enthalten, wenn er bei 2 eine Stimme abgibt und
# umgekehrt. Die vierte Gruppe wird hier gar nicht betroffen.
#
# Also: es gibt einfache Regeln, aber es sind auch sehr komplizierte Kom-
# binationen denkar. Das Programm macht alles mit... die Frage ist, ob
# es die Waehler tun :-)
#
# Fuege Deine Regeln hier an. Mit "uvvote.pl -t" kannst Du sie testen.