EDIT: Son zamanlarda, sorum 2048 Bot Challenge bir kopyası olarak önerilmiştir . Bu sorunun bu sorudan farklı olduğunu ve cevapların bu sorudan farklı düşünülmesini gerektireceğini vurgulamak isterim. 2048 Bot Mücadelesi kullanıcıdan bir bot yaratmasını istedi ve en yüksek puan kullanıcının puanı olan bir saat boyunca çalıştırılacaktı. Ayrıca, 555 baytlık bir sınırı vardı. Benim meydan okuma kodu çok daha az sıklıkta, sadece 3 kez çalışır. Puanınız, bu üç kez ortalama puan kullanılarak ve golf kodunuzun karakter uzunluğuna bölünerek hesaplanır. Benim sorum girişleri "daha akıllı" olmaya ve kaba kuvvetle en yüksek puanı almaya çalışmamaya teşvik ediyor.
-
EDIT: get yöntemi JS get anahtar kelimesi ile çakışmasını önlemek için getTile değiştirildi. Ayrıca, yüksek puan bölümü eklendi.
Son zamanlarda, popüler oyun 2048'in JavaScript kullanılarak kontrol edilmesine izin veren bir site oluşturdum. Sitem burada bağlı:
Nasıl:
Tahtanın üstünde bir Ace Editor bulunur. Her 250 ms'de bir veya saniyede 4 kez çalıştırılan kodu yerleştirirsiniz. Buna döngü denir.
Kartı kontrol etmek için aşağıdaki yöntemleri kullanın. Ok tuşlarını kullanamazsınız.
up(); //move up
down(); //move down
left(); //move left
right(); //move right
move(integer); //integer is a direction. 0:up,1:right,2:down,3:left
getTile(y,x); //gets the value of the tile in position y,x on the board. See diagram
Size kolaylık sağlamak için aşağıdaki değişkenler tanımlanmıştır:
eother //boolean, alternates every cycle
frozen //integer, counts how many cycles the board has remained stationary
lastDir //integer, indicates the last direction that was tried to move in
//uses same format as the move method above.
startup //boolean, will always be true when the game first starts
//you can change it as you wish
a
b //a b and c are all persistant variables, they do not change each cycle
c //any other variables defined in the cycle will be reset every time
Kurallar:
- Rasgelelik Yok, mantık kullanmalısınız. (Evet, örnek kodun rastgele kullanıldığını biliyorum.)
- Oyun fonksiyonlarına takılmak veya başka şekillerde hile yapmak yok
- Genellikle, döngü başına yalnızca bir hareket yöntemi çağırmayı deneyin. Daha fazla kullanırsanız sorun değil, ancak animasyonla birlikte
- Yönetim kurulu rastgele bir durumda başlamalı, oyun öncesi durumda değişiklik yapılmamalıdır
- Yayınınızdaki kodun hem sıkıştırılmamış hem de golf halindeki sürümünü sağlamalısınız.
- PasteBin aracılığıyla sunulan, kodunuzun sıkıştırılmamış sürümünü zaten yükleyen siteye bir bağlantı sağlamalısınız (Örneğin, ... thatcoolidea.com/2048?i=pH18GWtu örnek kodu yükler.)
puanlama:
- Kodunuz benim tarafımdan puanlanacaktır.
- Puanınızın A Bölümü, kodun ortalama 3 çalışmasıdır ve yuvarlanır.
- Skorunuzun B bölümü golf kodunuzun karakter uzunluğudur.
- Nihai puanınız Bölüm A'ya ve Bölüm B'ye bölünür
Kazanan, seçtikleri takdirde kodlarını sitede örnek kod olarak ölümsüzleştirecek ve koddaki bir yorumda kabul edecektir.
İyi şanslar! Eğer meydan okuma zevk umuyoruz.
Güncel Yüksek Puan 225.22 - Dondurucu - user3217109