- Registriert
- 1. November 2005
- Beiträge
- 7.644
Ein universeller Würfelwurf Generator
Ziele:
Universeller, kurzer, vertändlicher Snytax mit dem sich alles machen läßt ohne für jeden Wurf einen Spezielbefehl zu benötigen. Ich habe Bot's gesehen die für jeden Würfelwurf einen anderen Befehl verwenden, etc. Aber sowas ist doch Blödsinn! Auch blödsinn für jeses System einen neuen zu Programmieren...
Das ganze wäre Regelsystem und Computersystem unabhängig und ließe sich mit kleinen Anpassungen woher die eingabe kommt überall verwenden. Als Klasse im Charaktergenerator, mit GUI als Würfler für Rollenspielrunden, als PHP Script in Chaträumen oder Foren...
Input Syntax:
(a)w(b) A(c) (O) (S) (E) (M) (K) (I) X(d) B
a = die Anzahl der Würfel
b = die größe des Würfels (1-b)
A(c) = Falls A vorhanden ist wird auf jeden Würfel c angerechnet
O = Falls O vorhanden ist handelt es sich um explodierende Würfe, offene würfe +: maximalergebniss wird neu geworfen und addiert -: minimalergebniss wird neu gewürfelt und abgezogen 0: beides...
S = Falls S vorhanden ist werden die Würfel aufsummiert
E = Falls E vorhanden ist wird das Ergebniss jedes Wüfels oder bei vorhanden sein von S das gesamtergebniss mit einem mindestwert verglichen. Mit – und + wird angezeigt ob man drunter oder drüber sein muß für einen Erfolg
M = das gleiche wie E aber hier Zahlen die einen Mißerfolg darstellen
K = Zahlen die ein kritischer ergebniss sind (wenn man ned denken will
I = Ist I vorhanden werden würfel über/unter I ignoriert und neu gewürfelt
X(d) = Falls X vorhanden ist wird jeder Würfel, bei vorhandensein von S die gesamtsumme, beim vorhanden sein von M jeder Erfolg mit d multipliziert
B = Eine Beschreibung dessen was man macht mit dem Wurf, die einfach nochmal ausgegeben wird.
Des weiteren sollte der Syntax die Grundrechenarten beherrschen vielleicht mit Klammern um jeden Würfelwurf?
Output Syntax:
Name des würfelnden + beschreibung des wurfes je nach Parametern + einzelwürfel + gesamtergebniss + ggf. Erfolg.
Beispiele:
5w6
Der Jatzy (oder wie auch immer sich die variante schreibt die ihr kennt) Spieler wirft 5 würfel und schaut ob er ne straße oder sowas hat.
w100 K+01+11+22+33+44+55+66-77-88-99-100 E-70
Der SpaceGothic Spieler versucht mit w100 unter seiner 70er Fertigkeit zu bleiben.
8w6 O E+9
Der Shadowrun Spieler würfelt seine 8w Fertigkeit, 6er werden nochmal geworfen, alle würfe über 9 werden als Erfolge ausgegeben.
3w6 S K-17-18 E-14
Der GURPS Spieler würfelt 3w6 welche addiert werden und versucht unter seiner Fertigkeit zu bleiben, in diesem Fall 14. 17 und 18 sind kritische mißerfolge.
3w6 X10
Der Warhammer spieler startet mit 3w6 *10 Goldstücken Kapital
6w10 A-3 K-100+1 E5 X5
Der URPG spieler wirft 6w10 von jedem werden 3 abgezogen und mit dem 5er MW vergleichen. Jeder Würfel der ein Erfolg ist zählt 5 Punkte. Ja, 100 ist das beste was man würfeln kann aber der autom. mißerfolg (es läuft zu gut) und umgekehrt die 1 ein erfolg (homer bauen)
8w10 E8 M1
Der WoD Spieler wirft seine 8w Fertigkeit gegen 8 oder höher als MW.
(3w6 S I-5) *6
Der D&D Spieler würfelt 6 Attribute, Summen von 5 oder darunter werden ignoriert weil man gute Werte will.
3w20 E-12-14-12
Der das Spieler wirft 3w20, der erste und der dritte müssen auf oder utner 12 sein, der zweite auf oder unter 14 um einen Erfolg darzustellen.
(w20 O) + (w10 O) + (w4 O) E+16 M3
Der EarthDawn Spieler würfelt einen nach oben offenen w20+w10+w4 Wurf und versucht die 16 als Mindestwurf zu erreichen.
Probleme:
Die Würfelwürfe an sich sollten überhaupt kein Problem darstellen (Zufallszahl von 1-würfelgröße), das E ist nur eine Abfrage ob der Maximalwert erreicht wurde + nochmal würfeln. M und S und I sind ähnlich einfache Operatoren. Was eine echte Herrausforderung darstellen sollte ist das Taschenrechnerprinzip schnell und einfach umzusetzen. Also das er Grundrechenoperationen ausführt und auch auf das Gesamte dann Parameter zuläßt wie: (w6 + w4 + 1) M+6 wo die beiden Würfel +1 genommen werden um eine 6 zu erreichen.
Ein weiteres Problem sollten Zufallszahlen sein, man müßte ggf. zu einem der Spezialserver verbinden beim Start und sich eine Reihe geben lassen die „echt zufällig“ ist.
Umsetzung:
Eine Umsetzung in PHP oder Java würde sich anbieten da man damit web-fähig und Plattform unabhängig ist?