Seite 41 von 52 ErsteErste ... 31 39 40 41 42 43 51 ... LetzteLetzte
Ergebnis 401 bis 410 von 518

Thema: .Net Siedler-Online-Kampfsimulator

  1. #401
    karschti
    Guest
    Wäre natürlich ein Armutszeugnis an die Programmierer, wenn das Kampfsystem bei Bosskämpfen auf das alte Kampfsystem zurückspringt.
    Meinst Du mich? - Also ich habe es nach dem neuen System umgesetzt!?

  2. #402
    Neuankömmling
    Registriert seit
    Nov 2010
    Beiträge
    2
    Ist es schon mal wem aufgefallen, dass der Simulator, wenn man einfach öfter auf "Start" klickt, verschiedene Ergebnisse ausspuckt?

    Wie wärs denn, wenn bei einem Durchgang 1000 Simulationen laufen würden und man hinterher bei den überlebenden Einheiten minimale Verluste, maximale Verluste und mittlere Verluste präsentiert bekommt? Das sollte ja mit ner for-Schleife erledigt sein :-)

  3. #403
    karschti
    Guest
    Zitat Zitat von Yan_Nic Beitrag anzeigen
    Ist es schon mal wem aufgefallen, dass der Simulator, wenn man einfach öfter auf "Start" klickt, verschiedene Ergebnisse ausspuckt?

    Wie wärs denn, wenn bei einem Durchgang 1000 Simulationen laufen würden und man hinterher bei den überlebenden Einheiten minimale Verluste, maximale Verluste und mittlere Verluste präsentiert bekommt? Das sollte ja mit ner for-Schleife erledigt sein :-)
    Ja - ist in Planung - aber erst wenn eine Simulation inkl. Berechnung der Bosse 100% richtig ist.

  4. #404
    Neuankömmling
    Registriert seit
    Nov 2010
    Beiträge
    2
    @karschti

    Ich studiere gerade mal deinen Quelltext, weil ich die (zugegeben verwegene) Idee hatte, ein Programm zu schreiben, welches jede mögliche Einheitenkombination gegen jedes Lager kämpfen lässt um zu gucken, welches die beste Einheitenkombination ist.
    Abgesehen davon, dass ich kein C# sonders C++ programmiere fällt mir auf, dass ich deine Klasse KampfSimulation nicht so einfach dafür instantiieren kann wie ich es mir gewünscht hätte. Die KampfSimulation setzt ja während der Simualtion bereits die HTML-Datei zusammen, die hinterher angezeigt wird.

    Wäre es nicht besser (zumindest für meinen Zweck wäre es das :-) ), wenn du die HTML-Datei unabhängig von der KampfSimulation generierst? Oder meinetwegen auch ne Methode public string getHTML() oder sowas.

    Ich könnte sicherlich mit einigen Modifikationen an deiner Klasse trotzdem sämtliche Räuberlager bruteforcen, aber dann muss ich ja jedes Mal wenn du deine KampfSimulation änderst (was wohl noch einige Male passiert, du schreibst ja selbst, dass noch nicht alles richtig berechnet wird), meine angepasste Version davon neu schreiben.

    Hab grad nochmal in den Quelltext geschaut und sehe, dass es vielleicht doch nicht so schwer ist (abgesehen vom Overhead, dass ich deine säuberlich generierte HTML-Datei hinterher wegschmeiße und das auch noch ziemlich oft). Da ich den ganzen Text hier aber nicht löschen will poste ich das mal als ungeordnete Gedanken, damit du weißt was ich vor habe.

    Vielleicht kann man per #define (gibts das in C#?) ja beim kompilieren bestimmen, ob die ganzen Zeilen zum string zusammensetzen ausgeführt werden oder nicht? Das wäre vielleicht eine elegante/unkomplizierte Lösung

  5. #405
    Siedler Avatar von Toga
    Registriert seit
    Oct 2010
    Ort
    Berlin
    Beiträge
    30
    Welt
    Grünland
    @kartschi

    danke für deine Mühe - ich schau immer wieder gerne in deinen Kampfsimulator

  6. #406
    Siedler
    Registriert seit
    Sep 2010
    Beiträge
    83
    Welt
    Grünland
    Zitat Zitat von karschti Beitrag anzeigen
    Meinst Du mich? - Also ich habe es nach dem neuen System umgesetzt!?
    Um Gottes Willen, nicht dich. Sorry, wenn das falsch rüber kam. Ich meinte Bluebyte, wegen des merkwürdigen Kampfverhaltens bei Bosskämpfen.

  7. #407
    Wuseler
    Registriert seit
    Nov 2010
    Beiträge
    331
    Welt
    Grünland
    1 Runde
    84 Rekruten + 90 Bogen vs 71 schläger + Bert = 0 Schläger + Bert
    Spieler -----> CPU
    (84 Rekruten + 90 Bogen töten 71 schläger + etwas schaden am Boss)

    84R*27=2268 -> 71S angechlagen (60-27=33) und Bert (6000-351)
    90B*36=3240 -> 71S sterben und Bert (4965)
    Genau ist das jetzt nicht, da S überleben könnten, wenn R und B (20% Failquote) quasi nur auf den Schild hauen. Ich habe jetzt nur Mittelwerte genommen. 1S stirbt noch durch den General.


    Nun dann eben genauer:
    Folgende Schreibweise 1R(30) heißt: 1 Rekrut mit (noch) 30HP und 1R(0) wäre ein toter Rekrut

    71R(40) treffen mit 80% 71S(60) mit 30, somit bleiben 57S(30) und 14S(45)
    der Rest der Rekruten prügelt auf den Bert ein: 13R ->Bert (13*30*0,8+13*15*0,8 = Bert(6000-351=5649)

    Dann die 90B, davon schießen 71B auf die 71S; im Einzelnen:
    57B -> 57S(30) treffen mit 40 zu 80% und mit 20 zu 20% => 45S (tot), 12S(10) überleben.
    14B -> 14S(45) treffen zu 80% = 11S(5) und 3S(25) überleben
    19B schießen auf Bert (19*40*0,8+19*20*0,8=Bert(5649-684=4965)
    1G -> 1S trifft mit 120
    Gegenschlag:
    71S -> 71R treffen zu 60% = 43R (tot) und 28R(20) überleben
    Bert -> 500/20=25 der 28R gehen sind tot

    Stand nach Runde 1 bei Berechnung nach Erwartungswert:
    43R + 25R = 68R tot
    3R(20)
    19R(40) unversehrt
    90B(10) unversehrt
    1G unversehrt

    45S + 1S = 48S tot
    3S(25)
    12S(10)
    11S(5)
    Bert(4965)

    usw...

    So wie ich das Kampfsystem verstehe, muss man die HP für jede beteiligte Einheit rundenweise durchrechnen. Für ausgewählte Konstellationen kann man mit Erwartungswerten Fallunterscheidungen treffen, um innerhalb der Runde Teilgefechte durchzurechnen, wie ich das gemacht habe.
    So wie ich Karschti verstehe, kalkuliert er die Erfolgsquote einheitenbezogen. Dann fehlt allerdings noch eine MonteCarlo-Simulation, um den wahrscheinlichsten Fall herauszufinden.

    500 Schadenspunkte bei Bert machen nur Sinn, wenn er diese Reihe um an den angreifennden Einheiten "abarbeiten" kann. Sonst würden 120 reichen: sicherer Tot jeder Angreifereinheit. Ob die 120 des Generals als einfache Einheit, oder Bert-like abgearbeitet werden, wäre noch offen.
    Ebenso, warum ein tote Bert innerhalb einer Runde nicht mehr zurückgeschlagen hat, so wie es alle normalen Einheiten ja noch tun. Vermutlich gibt es da eine Abruchbedingung im Kampf, dass der bei Tod aller Einheiten als beendet gilt. Wer hat da Kampfberichte ohne Räuberführer?

    Offen ist, ob und wie die Verwundeten nach Grad der Verwundung sortiert werden, wenn die nachfolgende Einheitkategorie angreift, wenn der Bert angreift oder wenn es zu zweiten Runde kommt.

    Vielleicht liege ich mit meiner Kampflogik ja auch falsch, oder nur halb falsch

  8. #408
    Neuankömmling
    Registriert seit
    Aug 2010
    Beiträge
    1
    Zitat Zitat von Yan_Nic Beitrag anzeigen
    Vielleicht kann man per #define (gibts das in C#?) ...
    Joah, gibt es. Funktioniert wie in C++ auch.

  9. #409
    Siedler
    Registriert seit
    Sep 2010
    Beiträge
    83
    Welt
    Grünland
    Zitat Zitat von kalle67 Beitrag anzeigen
    (...)
    71R(40) treffen mit 80% 71S(60) mit 30, somit bleiben 57S(30) und 14S(45)
    (...)
    Wie ich schon weiter vorne geschrieben hatte, spiegelt dies das alte Kampfsystem wieder. Das neue, derzeit gültige Kampfsystem funktioniert anders.

    Im Detail (mal zufällig 30 und 15er sSchaden eingesetzt):

    Das alte Kampfsystem (nach dem du deine Berechnungen machst) macht folgendes:
    R1 -> S1 (30)
    R2 -> S2 (30)
    R3 -> S3 (45)
    R4 -> S4 (30)
    etc.

    Nach dem neuen Kampfsystem sollten die Kämpfe aber folgendermassen ablaufen:
    R1 -> S1 (30)
    R2 -> S1 (tot)
    R3 -> S2 (45)
    R4 -> S2 (15)
    R5 -> S2 (tot)
    R6 -> S3 (30)
    R7 -> S3 ....
    etc.

    Alle Kämpfe gegen normale Einheiten verlaufen nach diesem neuen Schema und eigentlich sollten es die Bosskämpfe ebenfalls. Allerdings lassen sich einige Kampfberichte damit nicht zufriedenstellend erklären.

    Sollte allerdings tatsächlich die Erklärung darin liegen, dass das Kampfsystem bei Bossen wieder in das alte Schema zurückfällt, so ist das - wie schon gesagt - ein Armutszeugnis für die BB-Programmierer.

  10. #410
    Wuseler
    Registriert seit
    Nov 2010
    Beiträge
    138
    Welt
    Grünland
    Hallo Karschti

    habe gerade CHUCK + 100RB angegriffen mit 100R+50B+50M.
    Nach Simulator 0.2.0.2 hätte es ausreichen müssen. LEIDER tat es dies nicht.

    also du bist schuld - will meine Einheiten von dir zurück....*lach*....spaß bei seite......

    mal sehen ob es mit 100R+70M+30LB klappt.....laut Simulator sollte es sogar viel besser klappen als meine erste Variante....

Seite 41 von 52 ErsteErste ... 31 39 40 41 42 43 51 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Die von uns verwendeten Ubisoft-Cookies sollen sicherstellen, dass du unsere Websites optimal genießen kannst. Durch die Nutzung dieser Website erklärst du dich mit der Nutzung dieser Cookies einverstanden. Weitere Informationen zum Datenschutz.