Ini adalah game ular x86 yang dibuat untuk DOS, tetapi ada juga versi yang tidak memerlukan BIOS, bootloader, atau OS.
Permainan ini diliput pada Hackaday.
Untuk menguji kode Anda dapat melihat demo online yang diperbarui untuk setiap perubahan di Snake.asm (Gunakan tombol panah di PC atau geser di ponsel).
Jika Anda ingin menguji kodenya sendiri, Anda perlu menginstal persyaratan untuk proses pembuatan dan menjalankannya di komputer Anda.
Saya menggunakan nasm
dan python3
yang dapat diinstal dengan apt install nasm python3 -y
.
Untuk mengujinya jalankan saja main.sh dan buka http://localhost:8000.
Terinspirasi oleh "Bisakah Anda memasukkan seluruh permainan ke dalam kode QR?" oleh @itsmattkc yang juga ditampilkan di Hackaday.
Bagi orang-orang yang menyebutkan ular64 jinX, saya perhatikan bahwa tanpa meremehkan pencapaian yang dibuat oleh jinX, implementasinya tidak mematuhi batasan yang sama dengan yang saya lakukan: Dalam versinya, ular dapat melewati sisi kanan langsung ke sisi kiri tetapi tidak dari sisi kanan. dari atas ke bawah, item makanan muncul secara acak sehingga mungkin ada 30 secara bersamaan, beberapa piksel acak berubah menjadi putih, Anda perlu menggunakan tombol 4, 6, 8, 2 untuk bergerak alih-alih panah, Anda harus memulai permainan dari bawah gerakan atau crash, Anda harus clear
layar sebelum memulai permainan, Anda harus menginisialisasi mode video yang benar ke depan, ketika Anda melewati bagian atas dan seharusnya kalah Anda bisa kembali ke bawah, dan seperti yang dikatakan jinX, "Ini akan tidak berfungsi jika Anda menjalankan game dari terminal DOSBox. Ini memerlukan nilai 0 (atau 50h, 80h, 0D0h...) di port 60h saat mulai."
Bagi banyak orang yang mengatakan bahwa saya sengaja tidak menyebutkan Kompetisi Pengodean Ukuran Hugi (sebuah kompetisi di mana para pesaing harus membuat permainan camilan terkecil untuk menang) berikut adalah balasan saya untuk salah satu komentar tersebut (sejak permainan tersebut masih berukuran 133 byte). ):
Pertama, sepertinya Anda bahkan belum membaca aturan permainan "Makanan":
di dalam perbatasan ini seharusnya ada "ular" yang tumbuh, yang awalnya berukuran satu piksel. setelah memulai program, ukuran ular akan bertambah satu piksel di setiap pengulangan loop utama program.
Yang tidak sama dengan ular dan jauh lebih sulit untuk diterapkan.
Kedua, implementasi dari kompetisi ini memiliki kekurangan (bukannya tidak bagus tapi menurut saya tidak membuat versi saya buruk) seperti misalnya dari komentar di entri pemenang:
permainan tidak dapat menangani tombol lain selain tombol panah pada papan tombol, Anda harus memulainya dengan mengetikkan jeda|makanan di prompt DOS dan kemudian menekan tombol panah
Dan
Karena segmen memori teratas di PSP bergantung pada lingkungan, Anda memerlukan versi yang sesuai untuk lingkungan Anda
dan itu bahkan tidak berfungsi di DOSBox karena diperlukan beberapa konfigurasi khusus.
Dari entri tempat kedua:
Saat memulai program ini, tekan tombol 2 (BAWAH) __SEGERA__
Dan itu juga tidak akan berhasil tanpa mengatur jumlah siklus dan mengubahnya terkadang merusak permainan
Adapun tempat ketiga
tekan '8','4','6' tetapi jangan '2' setelah permainan segera dimulai
dan permainan terhenti dengan cara yang sama seperti yang dilakukan tempat kedua (dan memerlukan penyesuaian siklus yang sama) tetapi temboknya juga rusak.
Saya akan melihat entri tempat keempat dan berhenti membuang waktu saya melakukan ini,
Yah, baru saja melihatnya dan tidak bisa melakukan booting
Dan terakhir, di mana posisi Anda untuk mengikuti kompetisi? Sebelum Anda mengkritik orang lain periksa dulu apakah kritik Anda benar dan coba lakukan sendiri sebelum Anda menghakimi.
Terima kasih atas masukannya :)
PS Saya bahkan tidak mengklaim versi saya ideal, poin utama dari posting ini adalah meminta bantuan, dan komentar ini benar-benar membuat saya merasa lebih baik tentang penerapan saya, seperti dalam kompetisi pengoptimalan ukuran sebenarnya seseorang memiliki kiriman 121 byte hanya untuk satu garis yang membentang di layar dan seluruh permainan ular saya (yang jelas berisi fungsi ini hanya sebagai bagian kecil dari keseluruhan program) sekarang hanya membutuhkan 12 byte lebih banyak, dan jika saya dapat memperbaiki PR hanya 7 byte lebih.
AFAIK Ini adalah game ular terkecil yang pernah dibuat.
Ini sangat kecil sehingga saya bisa memasukkannya ke dalam satu QR:
Ini 58 byte.
Berapa sedikitnya 58 byte? Baris teks ini beratnya lebih dari 70 byte.
Begitu pula dengan rangkaian emoji acak ini: ??❤️?????♀️??❤️???
Program C kosong yang dibuat dengan gcc -Os -w -xc - <<< "main;"
di linux-x86_64 adalah 15776 byte.
c53000b80000cd108b3f8d22e5402
1c3300fbbd0077af5e4606bc00ad4
14d5449801c739dfad10257bd9893
a74de880f83eb5079f95b88277bd8
Versi saya | Versi MattKC | versi ibara | Versi EimaMei | |
---|---|---|---|---|
Byte | 58 | ~1400 (terkompresi) | 2024 | 2953 |
QR | ||||
Link | https://github.com/donno2048/snake | https://mattkc.com/etc/snakeqr/ | https://github.com/ibara/snakeqr | https://github.com/EimaMei/snake-qr |