Antworten
Ergebnis 1 bis 2 von 2

Thema: Skript für Kampf zweier Stacks im Koloniemodus

  1. #1
    Siedler
    Registriert seit
    Dec 2011
    Beiträge
    43
    Welt
    Funkelberg

    Skript für Kampf zweier Stacks im Koloniemodus

    Hi, da ich es bisher nicht gefunden habe, habe ich mir selbst ein kurzes Skript für den Kampf zweier Stacks im Koloniemodus geschrieben. Ich möchte es einfach mal teilen. Anfänger werden damit vielleicht nicht so viel anfangen können. Das Skript ist in Matlab geschrieben, aber die Programmierer unter euch sollten es für jede Sprache schnell umwandeln können. Ich nutze das Skript vor allem für zwei Dinge:
    1. Herausfinden, wie viele Einheiten von mir sterben, wenn ich mit einem 20er Stack angreife.
    2. Herausfinden, was das Minimum an Einheiten ist, um ein gegnerisches 20er Stack platt zu machen. Das kann hilfreich sein, wenn man einen knappen Kampf gegen einen Boss hat und man es in einer Welle versuchen möchte. Auch ein Boss geht zu simulieren. Dieser hat halt eine Stackgröße von 1. Sollte der Bosskampf mehrere Wellen beinhalten muss man eine zweite Welle mit den verringerten LP des Bosses machen.
    Das Skript ist mit Absicht hier knapp gehalten und kann an sich keine ganzen Angriffe simulieren. Über Fehlerkorrekturen wäre ich dankbar, aber bisher funktionierte es gut.

    %%Kolonien

    az1=20; %Anzahl einheiten im Stack
    lp1=180; %LP einer Einheit
    d1=30; %Schaden durch eine Einheit
    bonus1=1.35; %Bonus angeben in 1+Bonus, falls verfügbar
    glp1=az1*lp1; %Gesamtlebenspunkte des Stacks

    az2=20;
    lp2=130;
    d2=25;
    bonus2=1;
    glp2=az2*lp2;

    while (az2>0 && az1>0)
    gd1=az1*d1*bonus1; %Schaden beider Seiten berechnen
    gd2=az2*d2*bonus2;
    glp1=glp1-gd2; %Reduktion der Gesamtlebenspunkte
    glp2=glp2-gd1;
    az1=ceil(glp1/lp1); %Neuberechnung der Einheitenzahl(aufrunden)
    az2=ceil(glp2/lp2);
    end

    disp(glp1)
    disp(glp2)
    disp(az1)
    disp(az2)

  2. #2
    Architekt des Wuselimperiums
    Registriert seit
    Jun 2012
    Beiträge
    899
    Welt
    Morgentau
    Guter kleiner Einblick, wenns bei dir so klappt.

    Rein gefühlsmäßig hätte ich die Lebenspunkte als Abbruchkriterium für die While-Schleife genommen, gerade wegen dem Boss.

    Aber gut zu wissen, der Bonus wird einfach mit dem Schaden multipliziert.

Antworten

Stichworte

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.