Code Bots 2'ye hoş geldiniz!
Dersinizi son Kod Botlarından beri öğrendiniz. Daha az çizgiye daha fazla eylem sığdırmak için daha fazla yol bulmaya çalıştınız ve şimdi sonunda var. Olaya dayalı bir Kod Botu yapacaksınız.
Botunuz 24 hattan oluşmalıdır. Her satır iki formattan birini takip eder:
Condition:Action
veya
Action
Sizin bot da adlandırılan 5 tamsayılar depolamak için yeterli depolama alanının A
içinden E
. Bir tam sayı, 0 ile 23 arasındaki değerleri saklayabilir.
Her turlu, çizgiyi çalıştırır C
, sürece koşullardan biri doğrudur. Eğer öyleyse, o C
zaman doğru olan koşulun satır numarasını içerecek ve o satır yürütülecektir. Her turun sonunda C
artırılacaktır.
Mevcut koşullar vardır:
Start
sadece ilk dönüşte doğrudur. Bunu tam olarak bir kez kodunuzda bulundurmalısınızBotAt(N)
N tarafından tanımlanan konumda bir bot varsa doğrudurEquals(A,B)
A B'ye eşitse doğrudur. Farklı türler olabilirler, öyleyse eşit olmazlar.Modified(A)
A
son dönüş sırasında kopyalandıysa doğrudur .A
değişken adı, çizgi veya koşul olmalıdırAny(C1,C2,...)
koşullardan herhangi biri doğruysa doğrudurNone(C1,C2,...)
koşullardan hiçbiri doğru değilse doğrudurAll(C1,C2,...)
tüm koşullar doğruysa doğrudurNot(C)
C yanlışsa doğrudur.C
bir şart olmalı.
Değişkenler aşağıdaki biçimlerden birinde olabilir. İlk 9 rakamsaldır ve bu sayfada N kullanıldığında kullanılabilir.
A
,B
,C
,D
,E
- 0'dan 23'e kadar bir sayı
This
şu anda bulunduğu satır numarasını döndürürAdd(N1,N2,...)
tüm değerlerin toplamını döndürürSub(N1,N2)
N1 eksi N2 döndürürMult(N1,N2,...)
tüm değerlerin ürününü döndürürDiv(N1,N2)
N1'i N2'ye bölerMod(N1,N2)
N1 mod N2'yi döndürürOVar(N)
değişken adını kabul eder ve rakibin değişkenini döndürürLine(N)
kodunuzdaki N. satırı döndürürType(N)
kodunuzdaki N. satır türünü döndürür (türler işlemlerin adlarıdır)Cond(N)
N'inci satırdaki koşulu döndürürCondType(N)
Nth satırındaki koşul türünü döndürür (türler koşulların adlarıdır)OLine(N)
rakibinizin kodundaki N. satırı döndürürOType(N)
rakibinizin kodundaki N. satır türünü döndürürOCond(N)
Nth satırındaki koşulu döndürürOCondType(N)
Nth satırındaki koşul türünü döndürür
A
ve B
kişisel kullanım için, olan C
kodunuzu çalıştırmak için hangi çizgiyi belirlemek için kullanılır ve D
bir yönü olarak kullanılmaktadır. Her bir değer D
farklı bir kare ve yön çiftini ifade eder. E
her seferinde rastgele bir değer üretir. D
ve E
rastgele bir değere sıfırlanır 0
.
Kullanılan yön olacaktır [North,East,South,West][D%4]
. Rakibiniz bu yönde en yakın karedeki bottur.
Kullanabileceğiniz 4 işlem vardır:
Move
siziD
th yönünde 1 kare ilerletir . Orada bir bot varsa, hareket etmeyeceksin.Copy(A,B)
değişkeniA
olarak kopyalarB
.B
değişken adı dışında sayısal bir değer olamaz.A
veB
farklı türlerde olamaz. Satır kopyalandığında koşul kopyalanmaz.Flag
hiç birşey yapmıyor. Kodunuzda en çok bayrak bulunan bot bir puan alır. En çok puana sahip olan kazanır.If(C,L1,L2)
üzerinde çizgi gerçekleştirecekL1
eğerC
doğruysa, değilse gerçekleştirdiği olduğunuL2
.C
Bir durumdur veL1
veL2
çizgiler olmalıdır.
Büyük resim
Dünyada her botun 50 kopyası yer alacaktır. Amacınız, bayrağınızı mümkün olduğunca çok bota sokmaktır. Diğer bayrak türlerinden daha fazla bayrak türünüz olan her bot için bir puan alırsınız.
Botlar aşağıdaki gibi yerleştirilecektir:
B...B...B...B...
..B...B...B...B.
B...B...B...B...
10 oyun oynanacak ve kazananın kim olduğunu belirleyerek tüm oyunlarda puan ortalaması alınacaktır.
Yan Notlar
Birden fazla koşul geçerliyse, en yakın takip eden koşul Start
yürütülecektir
Botlar yakından paketlenecek, ancak başka bir botu komşu yapmaya başlamayacaksınız. (Teknik olarak son CodeBots ile aynı formatta olacaktır)
Bu meydan okuma kum havuzuna gönderilmediğinden (kimseye avantaj sağlamak için), adalet veya ek yetenekler için küçük ayrıntıları değiştirme hakkını saklıyorum. Ayrıca, CodeBots koşucusunda bir hata varsa, bir bot başarısı için bu hataya bağlı olsa bile, onu değiştireceğim. Mümkün olduğunca adil olmaya çalışıyorum .
Yinelemeli If
ifadeler yürütülmez
Botunuz 24 hattan daha kısaysa, kalan hatlar Flag
Kendi kopyalama yapılırken hatırla C
ki C
senin dönüşün sonunda artırılır.
CodeBots yorumlayıcısı burada bulunabilir . Kolay yürütme için bir .jar dosyası içerir. Botunuzu bot klasörüne eklemeniz yeterlidir
Skorlar
- 893.9 Borg
- 1.3 LazyLioness
- 0.9 Defans
- 0.5 İşaretleyici
- 0.4 CliqueBot
- 0.4 Sinsi
- 0.3 Saldırgan
- 0.3 Gard
- 0.3 Tek Hedef
- 0.2 FreezeBot
- 0.2 Sentinel
- 0.2 Sürücü
- 0.0 Anti-Sinsi
- 0.0 MoveBot
- 0.0 CliqueBorg
- 0.0 Hesap Makinesi
- 0.0 TestBot
- 0.0 Taklitçi
GÜNCELLEME
Kod satırları artık rakibinizin kodunu görüntülediğinizde döndürülür. Yani rakibinizin 1. çizgisi 14. çizgi (ya da herhangi bir çizgi) olabilir. Bir bot, bir rakip tarafından bakıldığında çizgilerini X
miktarına göre dengeleyecek sabit bir ofsete sahip olacaktır . Rakibin değişkeni de aynı miktarda dengelenecektir . aynı oyunda değişmeyecek, ancak oyundan oyuna değişecek.C
X
X