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 Aiç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 Czaman doğru olan koşulun satır numarasını içerecek ve o satır yürütülecektir. Her turun sonunda Cartırılacaktır.
Mevcut koşullar vardır:
Startsadece 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)Ason dönüş sırasında kopyalandıysa doğrudur .Adeğ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.Cbir ş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
Ave Bkişisel kullanım için, olan Ckodunuzu çalıştırmak için hangi çizgiyi belirlemek için kullanılır ve Dbir yönü olarak kullanılmaktadır. Her bir değer Dfarklı bir kare ve yön çiftini ifade eder. Eher seferinde rastgele bir değer üretir. Dve Erastgele 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:
MovesiziDth yönünde 1 kare ilerletir . Orada bir bot varsa, hareket etmeyeceksin.Copy(A,B)değişkeniAolarak kopyalarB.Bdeğişken adı dışında sayısal bir değer olamaz.AveBfarklı türlerde olamaz. Satır kopyalandığında koşul kopyalanmaz.Flaghiç 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ştirecekL1eğerCdoğruysa, değilse gerçekleştirdiği olduğunuL2.CBir durumdur veL1veL2ç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 Startyü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 Ififadeler yürütülmez
Botunuz 24 hattan daha kısaysa, kalan hatlar Flag
Kendi kopyalama yapılırken hatırla Cki Csenin 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 Xmiktarı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.CXX