Operacje

Operacje

> LeekScript samouczek

Wszystkie obliczenia wykonywane w AI wymagają trochę czasu na wykonanie przez serwer. Ten czas wykonania jest szacowany przez liczbę: liczbę operacji wykorzystanych w tym obliczeniu.

Sztuczna inteligencja nie może wykonać więcej niż 20 milionów operacji w jednej turze. Na szczęście liczbę operacji wykonanych przez AI w bieżącej turze można uzyskać funkcją getOperations, a maksymalną liczbę operacji stałą OPERATIONS_LIMIT.

Oto (niemal wyczerpująca) lista kosztów różnych działań, które można wykonać w sztucznej inteligencji:

kod | Koszt -----|------ var a; | 1 var a = wartość; | 1 (+ koszt wartości) tablica[indeks] = wartość; | 3 (pchnięcie kosztuje 2) mapa[klucz] = wartość; | 4

Dostęp

kod | Koszt -----|---- | 0 funkcja(parametry) | 1 + koszt funkcji tablica[indeks] | 1 mapa[klawisz] | 2

Operatorzy

Oczywiście za każdym razem należy dodać koszt a i b.

kod | Koszt -----|----- za = b | 1 a++ | 1 za -- | 1 a+b | 1 a-b | 1 ab | 2 a/b | 5 a \\ b | 5 a % b | 5 a*b | 40 za += b | 1 a-=b | 1 za = b | 2 a /= b | 5 za \\= b | 5 a %= b | 5 za *= b | 40

Operatory porównania

kod | Koszt -----|----- za == b | 1 za != b | 1 a > b | 1 a = b | 1 za > b | 1 a >>> b | 1 a >= b | 1 za <<= b | 1

OOP

kod | Koszt -----|----- obiekt klasy { ... } | 0 nowy obiekt (parametry) | 1 + ilość pól w klasie + koszt konstruktora obiekt.metoda(parametry) | 2 + koszt metody obiekt.właściwość | 1 (tylko jeśli jesteśmy poza deklaracją tego obiektu)

Słowa kluczowe

kod | Koszt -----|----- jeśli(a) | 1 (Plus koszt a) Do ? b: c | 1 (plus koszt a, b i c) podczas(0) | 0 wykonaj {} podczas (0); | 1