Operasi

Operasi

> Tutorial LeekScript

Semua perhitungan yang dilakukan dalam AI membutuhkan waktu untuk dieksekusi oleh server. Waktu eksekusi ini diperkirakan dengan angka: jumlah operasi yang digunakan oleh perhitungan ini.

AI tidak dapat menggunakan lebih dari 20 juta operasi dalam satu putaran. Untungnya, jumlah operasi yang digunakan selama giliran saat ini oleh AI dapat diperoleh dengan fungsi getOperations, dan jumlah maksimum operasi dengan konstanta OPERATIONS_LIMIT.

Berikut adalah daftar (hampir lengkap) biaya dari berbagai tindakan yang dapat dilakukan dalam AI:

kode | Biaya -----|------ var a; | 1 var a = nilai; | 1 (+ biaya nilai) array[indeks] = nilai; | 3 (push biaya 2) peta[kunci] = nilai; | 4

Akses

kode | Biaya -----|---- sebuah | 0 fungsi(params) | 1 + biaya fungsi larik[indeks] | 1 peta[kunci] | 2

Operator

Tentu saja, biaya a dan b harus ditambahkan setiap saat.

kode | Biaya -----|----- a = b | 1 a++ | 1 a -- | 1 a+b | 1 a-b | 1 ab | 2 a/b | 5 a \\ b | 5 a %b | 5 ab | 40 a += b | 1 a-=b | 1 a=b | 2 a /=b | 5 a \\= b | 5 a %= b | 5 a=b | 40

Operator Perbandingan

kode | Biaya -----|----- a == b | 1 a != b | 1 a > b | 1 a = b | 1 a >b | 1 a>>>b | 1 a>= b | 1 a<<=b| 1

OP

kode | Biaya -----|----- objek kelas { ... } | 0 objek baru (params) | 1 + jumlah bidang di kelas + biaya konstruktor objek.metode(params) | 2 + biaya metode objek.properti | 1 (hanya jika kita berada di luar deklarasi objek ini)

Kata kunci

kode | Biaya -----|----- jika(a) | 1 (Ditambah biaya a) Ke ? b:c | 1 (Ditambah biaya a, b dan c) sementara(0) | 0 lakukan {} while(0); | 1