Pengalaman pertama atau bagaimana mencoba menjadi legenda kode dan sihir

Halo semuanya. Nama saya Valentine.

Pada 10 Juli saya membaca posting Oli Ollisteka di Habr tentang platform codingame.com dan memutuskan untuk mencoba tugas-tugas logis saya, serta dalam kontes Legends of Code dan Magic.

Mengingat banyaknya waktu luang, saya menjadi tertarik pada teka-teki dan tugas yang ada pada sumber daya ini. Apa yang baik adalah bahwa setiap tugas, setiap teka-teki membuat Anda mencari solusi, meskipun terkadang tidak jelas.

gambar

Di bawah ini akan menjadi informasi singkat tentang aturan kompetisi, serta beberapa hal yang jelas atau tidak bagi pemula.

Legenda Kode dan Sihir


Kontes, yang berlangsung dari 25 Juli hingga 24 Agustus. Permainan ini dalam beberapa hal mirip dengan Hearthstone, namun, beberapa hal telah ditingkatkan menuju keseimbangan antara para pemain.

Permainan berlangsung antara dua pemain, dan ini adalah permainan berbasis giliran. Setiap pemain memiliki setumpuk kartunya sendiri, dipilih dari opsi yang tersedia selama fase Draft sebelum fase Battle.

Fase rancangan


Selama fase Draft, setiap pemain membentuk setumpuk 30 kartu sendiri. Dengan demikian, 30 gerakan pertama, setiap gerakan menawarkan pemain pilihan 3 kartu, salah satunya ia dapat memilih.

Pada saat penulisan, ada 4 jenis peta dalam permainan:

  1. Makhluk pada dasarnya adalah monster. Mereka adalah sumber daya utama pemain, yang memungkinkannya untuk bertahan dan menyerang musuh.
  2. Barang hijau. Digunakan pada makhluk yang bersekutu. Naikkan nilai serangan / pertahanan. Tambahkan kemampuan pada makhluk itu.
  3. Item merah. Digunakan pada makhluk musuh. Mengurangi serangan / pertahanan. Singkirkan kemampuan. Dapat langsung membunuh makhluk musuh (-99 pertahanan)
  4. Item biru. Kartu-kartu ini hanya digunakan pada lawan. Mereka sering mengambil nyawa dan musuh, kadang-kadang mengisi kesehatan pemiliknya.

Juga dalam permainan ada 6 jenis kemampuan untuk makhluk:

  1. Terobosan Jika seekor makhluk dengan kemampuan ini melakukan lebih banyak kerusakan daripada kesehatan makhluk lawan, kerusakan yang tersisa akan jatuh ke lawan. (Kemampuan yang berguna, tetapi seperti yang ditunjukkan oleh latihan, beberapa orang menggunakan kartu ini untuk tujuan yang dimaksudkan)
  2. Mengisi daya Memungkinkan Anda menyerang pada belokan yang sama dengan yang dipicu.

    (Namun, sangat diperlukan dalam strategi pertempuran cepat, hampir semua kartu dengan kemampuan Mengisi memiliki nilai serangan / pertahanan yang rendah dan jika pertempuran berlanjut, kemungkinan kehilangan meningkat)
  3. Tiriskan Menyerang makhluk musuh / musuh mengembalikan kesehatan yang sebanding dengan serangan. (Kemampuan Uber. Jumlah kartu yang diperlukan memungkinkan Anda untuk meningkatkan kesehatan menjadi 50-70 poin (dari awal 30), tetapi sebagian besar kartu dengan kemampuan ini juga memiliki nilai serangan / pertahanan yang rendah)
  4. Penjaga Kemampuan melindungi terhadap serangan langsung pada pemain. Pertama, Anda perlu menghancurkan makhluk dengan kemampuan ini (menurut saya, kartu memiliki kemampuan paling berguna. Namun, ada baiknya mempertimbangkan fakta bahwa beberapa kartu dengan kemampuan ini tidak memiliki serangan)
  5. Mematikan. Menghancurkan makhluk yang menyerang. (Sebagai aturan, kartu dengan selebaran memiliki pertahanan tunggal, yang berarti bahwa mereka dapat mengeluarkan maksimal satu kartu)
  6. Ward. Intinya - perlindungan dari kerusakan pertama. Setelah serangan pertama, pada dasarnya pertahanan menghilang dan kartu menjadi biasa. (Kemampuan ini melakukan serangan balik dan terbang dan terobosan dan pengeringan. Tetapi kartu tidak melindungi pemilik dari kerusakan, jadi saya tidak melihat banyak kartu dalam strategi pemain lain dengan bangsal).

Setelah memilih kartu di geladaknya, fase Draft berakhir. Fase Pertempuran Dimulai

Fase pertempuran


Pada fase ini, tujuan utama adalah mengalahkan lawan, mengurangi jumlah kesehatannya menjadi 0.
Dalam hal ini, pemain memiliki parameter seperti Mana. Selama giliran pertama dalam fase Pertempuran, nilai mana adalah 1. Berikutnya, setiap putaran indikator meningkat sebesar 1 hingga mencapai nilai maksimum 12. Poin mana dihabiskan untuk memanggil makhluk, serta menggunakan item.

gambar

Pada awal setiap gerakan, pemain memiliki informasi tentang kartunya di tangan dan meja, serta kartu di atas meja lawan. Berdasarkan data ini, bot (program) harus membuat baris perintah.

Setiap gerakan dari dek yang dikumpulkan mendapat satu kartu acak. Jika kesehatan turun menjadi 25, 20, 15, 10, atau 5 poin, lebih banyak kartu akan dipanggil pada giliran berikutnya.

gambar
Di langkah selanjutnya, lawan mengambil 3 kartu dari dek.

Sebagai aturan, jika lawan memiliki kekuatan yang hampir sama, permainan berakhir sekitar 200 gerakan, namun, saya juga memiliki permainan dengan 240-250 gerakan. Batas bawah adalah sekitar 80-85, asalkan para pemain tidak melakukan kesalahan dengan penggunaan tim yang salah.

Kemungkinan strategi yang bermanfaat


Perbedaan utama antara kontes ini dan Kode Kutulu sebelumnya adalah bahwa ini adalah permainan kartu dan ada unsur peluang dan keberuntungan di dalamnya.

Selama kontes, beberapa strategi diuji:

  1. Seperangkat makhluk dengan muatan, terbang dan terobosan untuk kemenangan cepat.
  2. Seperangkat makhluk dengan Guard untuk kartu + keamanan maksimum dengan muatan dan tiriskan.
  3. Set makhluk dengan Guard + kartu hijau dan merah.
  4. Seperangkat makhluk dengan serangan / pertahanan maksimum, kehadiran indikator + untuk kesehatan pemain atau - untuk kesehatan lawan dan hanya tergantung pada kemampuan mereka.

Secara konvensional, strategi dapat dibagi menjadi 2 kategori.

Kemenangan cepat - makhluk hanya menyerang musuh dan penjaga, jika ada.
Kemenangan total - makhluk musuh dihancurkan, dan jika tidak ada makhluk, maka musuh sendiri.

Sekarang secara singkat pada masing-masing strategi:

Mengatur makhluk dengan biaya, mematikan dan terobosan untuk kemenangan cepat


Strategi itu menunjukkan kegagalannya karena unsur kebetulan. Anda dapat menggambar banyak kartu yang harganya 1-2 mana, tetapi tidak akan ada sama sekali di kartu awal. Strategi ini harus digunakan hanya untuk kemenangan cepat dan jika musuh tidak memanggil makhluk tunggal dengan Guard. Selama kontes, saya bertemu strategi ini dengan pemain lain, bahkan dari atas, tetapi sebagai aturan, jika permainan melebihi 100-120 gerakan, mereka dengan cepat kalah.

Set makhluk dengan Guard untuk kartu + keamanan maksimum dengan biaya dan tiriskan


Salah satu strategi terbaik untuk permainan cepat. Kartu pembela disebut. Dan jika tidak ada, maka Charge dan Tiriskan. Strategi ini memungkinkan Anda untuk secara efektif menghancurkan makhluk musuh dan pada saat yang sama tetap terlindungi. Dalam kasus transisi ke permainan yang panjang, strateginya tidak kehilangan kekuatannya, karena ada makhluk dengan Guard dan memiliki indikator serangan / pertahanan yang tinggi.

Set makhluk dengan Guard + kartu hijau dan merah.


Strateginya lebih buruk daripada yang sebelumnya, karena kartu item lebih merupakan karakter tambahan daripada yang dasar. Oleh karena itu, diputuskan untuk mengalihkan prioritas ke makhluk.

Seperangkat makhluk dengan serangan / pertahanan maksimum


Saat menyusun strategi ini, ia dibimbing oleh pekerjaan bos bot, serta beberapa pemain. Strategi ini hanya cocok untuk permainan yang berlarut-larut, karena sebagai aturan dalam gerakan awal tidak ada cukup mana untuk dipanggil.

Cons Serta penyelesaiannya


Ketika mengkompilasi bot untuk strategi terakhir, ditemukan bahwa jika perintah panggilan ditujukan pada kartu yang tidak dapat dipanggil karena kekurangan mana, atau serangan pada kartu yang tidak dapat diserang, perintah ini ditandai sebagai Tindakan tidak sah. Di satu sisi, ini adalah fitur yang luar biasa dari kontes, beberapa peserta memperhitungkan kesehatan makhluk selama serangan atau dampak item kartu, jadi jika semua makhluk menyerang kartu yang sudah hancur, semua tim secara otomatis beralih ke tidak sah.

Namun, menjadi mungkin untuk membuat hanya sejumlah besar tim sekaligus.

gambar

Secara teori, Anda dapat menulis tim untuk menyerang dengan satu kartu untuk masing-masing makhluk musuh, dan kemudian untuk musuh sendiri. Tulis semua kemungkinan kombinasi SUMMON dan SERANGAN.

Apa yang akan dilakukan akan dieksekusi, dan sisanya akan pergi ke Aksi tidak sah.

Hasil


Pada saat penulisan, bot saya berada di tempat ke-120 liga perunggu.

Dan pada 950 tempat di puncak umum. Namun, pada akhir kontes, saya keluar dari 1000 teratas.
Hasil sederhana. Ini sebagian karena pengalaman pertama berpartisipasi dalam kontes. Peringkat pemain dihitung berdasarkan algoritma True Skill. Menurut algoritma ini, pada awalnya, pertarungan 10-20 diadakan dengan yang terbaik di liga, berdasarkan hasil, tempat awal dalam tabel ditentukan, dan kemudian pertarungan dengan peringkat ± 10 diadakan, setiap kemenangan menaikkan peringkat, setiap kekalahan menurunkan. Jadi lebih dari 100 perkelahian diadakan dan tempat di meja ditentukan. Dan kemudian, bot terus bertarung dengan pemain yang mengirim program mereka untuk diproses. Dengan demikian, Anda dapat meningkatkan peringkat hanya dengan berada di tabel. Saya berkali-kali mengirim algoritma ke pemrosesan dengan harapan segera berada di puncak.

Tetap menunggu dan mempersiapkan kontes berikutnya di codingame.com . Selain itu, saya menunggu game masuk ke multipemain, yang akan meningkatkan kode saya.

Source: https://habr.com/ru/post/id422297/


All Articles