Du bist nicht angemeldet.
Hat sich inzwischen erledigt da Ich aus Frust einfach Agilität weggelassen habe und die Punkte entsprechend auf Angriff/Verteidigung verteilt habe. Spieler 1 macht jetzt entweder 8 oder 12 Schadenspunkte (Wobei Ich auch schon weiss wie Ich das behebe) .
Was mich eben gestört hat war das Spieler 1 keine Möglichkeit hatte Spieler 2 physikalisch gesehen zu erledigen. Was Ich bei meinem ersten Problem noch nicht beachtet hatte war Agilität. Die hatte Ich nämlich noch nicht umgesetzt und nur als feststehenden Wert gehabt. Spieler 1 hätte Spieler 2 vllt. physikalisch nicht vernichten können, aber die Chance das Spieler 2 auch nur einen Treffer bei Spieler 1 gelandet hätte wäre ebenso gering ;>.
Ganz ehrlich, das ist kein Problem vom Code, sondern deinen Regeln ;D
Wenn in der Relation von Angriff und Verteidigung 0 steht, wird es, mit dieser Formel, bei 0 bleiben, einfach da x*0 einfach 0 ergibt. x/0 ist bekanntlich nicht möglich, keine Ahnung in wie weit das bei der Auswertung zu Fehlern führen könnte, sollte man eventuell abfangen. (Den Punkt 2*att - dmg in eine variable, die nicht 0 sein darf...)
Logisch betrachtet finde ich es aber so wie es ist durchaus passend:
Greift mich jemand an, der genau so gut angreift, wie ich parrieren kann, dann kriegt eben keiner Schaden
Meiner Meinung nach fehlt es dem Schadensystem (so weit ich es denn sehe) an einer Instanz, dem Schadenswiderstandt. In einem Schwertkampf gibt es ja immer zwei Verteidigungsmöglichkeiten, den Angriff abwenden durch Parade oder Ausweichen, und der Waffe die Kraft herausnehmen durch Rüstung oder Geschick (aus einem vollen Treffer, einen Streifer machen).
Präzisiere bitte nochmal dein Problem, vielleicht kann ich dir, neben der vielen warmen Luft oben, sogar wirklich helfen ;D
Edit: Würfel schaffen nie einen 'fairen' Ausgleich, sondern sollen eben den 'kick' ins Spiel bringen ;D
Okok, Ich schon wieder - neues Problem:
Ich arbeite gerade an einem Text-Only RPG in Pascal, hänge aber gerade bei den Formeln für Schadensberechnung etc.
Dies sind die Werte der 2 Probecharactere die Gegeneinander antreten:
Spieler 1 Spieler 2
100 HP 90 HP
50 MP 60 MP
10 Angriff 5 Angriff
10 Magischer Angriff 10 Magischer Angriff
10 Defensive 20 Defensive
10 Magische Defensive 20 Magische Defensive
20 Agilität 5 Agilität
Agilität wird fürs erste ignoriert, bis Ich eine Formel für den Schaden gefunden habe... Den die kann Ich dann hoffentlich auf die Agi übertragen.
Zuletzt bin Ich an folgender Formel hängen geblieben:
dmg = (( 2*atk - def) / 4) +/- 20% of the result for variance
Das würde jedoch, wenn Spieler 1 Spieler 2 angreift ergeben:
[(2*10 - 20) / 4] +/- 20% = 0
Also würde Spieler 1 0 Schaden machen und hat damit gar keine Chance Spieler 2 in irgent einer Form physikalischen Schaden zuzufügen.
Meine 2. Idee war es, Würfel zu benutzen, also +/- X bei jedem Wert, aber da bin Ich mir unschlüssig wie Ich den Wert des Würfels berechnen soll, dass er auch bei anderen Werten einen fairen Ausgleich schafft.
Vorschläge pl0x