EDIT: Baru-baru ini, pertanyaan saya telah diajukan sebagai duplikat 2048 Bot Challenge . Saya ingin menekankan bahwa pertanyaan ini berbeda dari pertanyaan itu, dan akan memerlukan jawaban untuk dianggap berbeda dari pertanyaan itu. 2048 Bot Challenge meminta pengguna untuk membuat bot, dan itu akan berjalan selama satu jam, dengan skor tertinggi adalah skor pengguna. Selain itu, ia memiliki batas 555 byte. Tantangan saya menjalankan kode jauh lebih jarang, hanya 3 kali. Skor Anda dihitung dengan menggunakan skor rata-rata dari tiga kali dan membaginya dengan panjang karakter kode golf Anda. Pertanyaan saya mendorong entri menjadi "lebih pintar," dan tidak mencoba dan mendapatkan skor tertinggi dengan kekerasan.
-
EDIT: Metode get diubah menjadi getTile, untuk menghindari pertentangan dengan get kata kunci JS. Selain itu, bagian skor tinggi ditambahkan.
Baru-baru ini, saya membuat situs yang memungkinkan game populer 2048 dikendalikan menggunakan JavaScript. Situs saya tertaut di sini:
Bagaimana:
Editor Ace terletak di atas papan. Anda menempatkan kode di dalamnya, yang dijalankan sekali setiap 250 ms, atau 4 kali per detik. Ini disebut siklus.
Gunakan metode berikut untuk mengontrol papan. Anda tidak dapat menggunakan tombol panah.
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
Variabel berikut ditentukan untuk kenyamanan Anda:
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
Aturan:
- Tanpa Keacakan, Anda harus menggunakan logika. (Ya, saya tahu kode contoh menggunakan acak.)
- Tidak mengaitkan ke fungsi permainan atau menipu dengan cara lain
- Secara umum, cobalah hanya memanggil metode satu langkah per siklus. Tidak apa-apa jika Anda menggunakan lebih banyak, tetapi itu kacau dengan animasi
- Papan harus mulai dalam keadaan acak, tidak ada modifikasi dari kondisi sebelum pertandingan
- Anda harus memberikan versi kode yang tidak dikompresi dan golf di pos Anda.
- Anda harus memberikan tautan ke situs yang sudah memuat versi kode Anda yang tidak terkompresi, disajikan melalui PasteBin (Misalnya, ... thatcoolidea.com/2048?i=pH18GWtu memuat kode contoh.)
Mencetak:
- Kode Anda akan dicetak oleh saya.
- Bagian A dari skor Anda adalah rata-rata 3 run dari kode, dibulatkan ke bawah.
- Bagian B dari skor Anda adalah panjang karakter kode golf Anda.
- Skor akhir Anda adalah Bagian A dibagi dengan Bagian B
Pemenang akan memiliki kode mereka diabadikan sebagai kode contoh di situs, jika mereka memilih, dan diakui dalam komentar dalam kode.
Semoga berhasil! Semoga Anda menikmati tantangan.
Skor Tinggi Saat Ini 225,22 - Freezer - user3217109