Operationen

Operationen

> LeekScript-Tutorial

Alle Berechnungen, die in einer KI durchgeführt werden, benötigen einige Zeit, um vom Server ausgeführt zu werden. Diese Ausführungszeit wird durch eine Zahl geschätzt: die Anzahl der Operationen, die von dieser Berechnung verwendet werden.

Eine KI kann nicht mehr als 20 Millionen Operationen in einer Runde ausführen. Glücklicherweise kann die Anzahl der während der aktuellen Runde von einer KI verwendeten Operationen mit der Funktion getOperations und die maximale Anzahl der Operationen mit der Konstante OPERATIONS_LIMIT ermittelt werden.

Hier ist eine (fast vollständige) Liste der Kosten der verschiedenen Aktionen, die in einer KI ausgeführt werden können:

Code | Kosten -----|------ var a; | 1 var a = Wert; | 1 (+ Wertkosten) array[index] = wert; | 3 (drücken kostet 2) Karte[Schlüssel] = Wert; | 4

Zugang

Code | Kosten -----|---- ein | 0 Funktion(Parameter) | 1 + Funktionskosten Array[Index] | 1 Karte[Schlüssel] | 2

Operatoren

Natürlich müssen die Kosten von a und b jedes Mal addiert werden.

Code | Kosten -----|----- a = b | 1 a++ | 1 ein -- | 1 a+b | 1 a-b | 1 ab | 2 a/b | 5 ein \\ b | 5 ein %b | 5 a*b | 40 a += b | 1 a-=b | 1 ein = b | 2 a /= b | 5 ein \\= b | 5 ein %= b | 5 a *= b | 40

Vergleichsoperatoren

Code | Kosten -----|----- ein == b | 1 a != b | 1 a > b | 1 a = b | 1 ein > b | 1 a >>> b | 1 a >= b | 1 ein <<= b | 1

Hoppla

Code | Kosten -----|----- Klassenobjekt { ... } | 0 Neues Objekt (Parameter) | 1 + Anzahl der Felder in der Klasse + Konstruktorkosten Objekt.Methode(Parameter) | 2 + Methodenkosten Objekt.Eigenschaft | 1 (nur wenn wir uns außerhalb der Deklaration dieses Objekts befinden)

Schlüsselwörter

Code | Kosten -----|----- wenn (a) | 1 (Plus Kosten für a) Zu ? b:c | 1 (Plus Kosten von a, b und c) während(0) | 0 mache {} while(0); | 1