Apakah ada teknik desain game yang bisa saya gunakan sehingga saya benar-benar menghapus situasi 'Tidak ada lagi gerakan yang tersisa'. yaitu. permainan tidak boleh mengandung skenario yang mustahil.
Sejauh yang saya kira semuanya tergantung pada permata apa dan di mana Anda memberikan pengguna setelah kelompok permata 3 atau 4 larut.
Apa itu mungkin ? An always infinitely solvable Bejewelled game?
game-design
level-design
Wisnu
sumber
sumber
Jawaban:
Tentu saja mungkin untuk membuat game Bejeweled tanpa akhir. PopCap telah melakukannya sendiri dengan Bejeweled 3 terbaru (mode ini disebut "Zen Mode").
Pertama-tama, Anda perlu memastikan setidaknya ada satu gerakan yang valid saat Anda pertama kali menghasilkan papan.
Setiap kali pemain bergerak, Anda harus menghitung papan yang dihasilkan dan mencari gerakan yang valid. Jika tidak ada yang ditemukan, Anda harus mengontrol permata yang akan muncul untuk mengembalikan papan yang valid. Karena (setidaknya) 3 permata akan dihapus dengan satu gerakan dan Anda harus menelurkan 3 permata pengganti, Anda dapat memastikan bahwa 3 permata pengganti ini akan membentuk langkah lain yang valid dengan papan saat ini. Mode tak berujung tercapai.
Tentu saja itu tidak ideal bahwa langkah baru akan muncul dengan permata baru, tetapi itu adalah cara yang murah untuk selalu memastikan papan yang dapat dimainkan. Dan karena menciptakan gerakan yang valid sebenarnya berarti untuk menukar posisi permata, itu tidak akan lama sebelum gerakan lain menjadi mungkin.
Seperti yang telah disebutkan, bom dan cara lain untuk membersihkan sebagian besar papan akan menambah variasi permainan, tetapi mereka tidak diperlukan untuk memastikan mode tanpa akhir.
sumber
Iya. Ini sebenarnya mungkin. Ini bukan kasus penghentian masalah karena kasus didefinisikan, bukan sewenang-wenang. Untuk menjawab ini, dua bagian harus dijawab; pertama jika solusi ada dapat ditemukan, dan kedua akan selalu ada solusi yang valid untuk ditemukan.
Bagian pertama adalah bagaimana menemukan satu set ubin pengganti (permata) yang akan menghasilkan papan yang bisa dimainkan. Ini dapat dicapai melalui metode brute force, cukup periksa setiap set penggantian yang mungkin sampai yang dapat dimainkan ditemukan (Akan ada metode non-brute force yang lebih optimal juga).
Bagian kedua adalah untuk menentukan apakah akan selalu ada set pengganti yang akan menghasilkan set dimainkan. Setiap set ubin yang dihapus dalam satu langkah akan menjadi superset dari set tiga ubin, jadi jika dalam kasus minimal hanya tiga yang dihapus, jika set dimainkan dapat selalu ditemukan, maka untuk semua kemungkinan pola ubin yang dihapus akan ada set yang dapat dimainkan, karena akan berisi semua solusi untuk setiap set dari tiga ubin yang dihapus yang merupakan bagian dari ubin yang dihapus.
Dalam kasus minimal hanya membersihkan tiga ubin dalam satu baris / kolom, Satu set pengganti berisi dua ubin tipe A dipisahkan oleh ubin tipe B (di mana tipe A adalah jenis ubin di atas atau di bawah set tiga yang dibersihkan di kasus kolom tiga, atau ke kiri atau kanan dalam kasus baris tiga). Ini akan menghasilkan gerakan di mana menukar tengah tiga ubin ini dengan ubin A yang tepat di sampingnya akan menghasilkan satu set tiga. Ini menunjukkan bahwa satu set ubin selalu dapat ditemukan yang akan menghasilkan langkah yang valid di sepanjang kolom / baris di mana ubin asli dibersihkan. Membatasi gerakan di masa depan ke kolom atau baris itu, sementara menjadi solusi yang valid untuk permainan yang dapat dimainkan tanpa batas, tidak akan sangat menyenangkan. Tapi menggunakan semua aturan untuk gim gaya bejeweled yang umum, mudah untuk menunjukkan bahwa akan selalu ada solusi yang akan memungkinkan untuk bergerak di luar baris / kolom itu juga. Asumsikan kita menjatuhkan tiga ubin tipe A, di mana A adalah salah satu ubin di atas atau di bawah / kiri atau kanan dari set tiga yang dihapus. Ini akan menghasilkan ubin gaya "bom" yang akan menghapus area saat dihapus. Jika kita kemudian menjatuhkan set ubin pengganti lain yang menghasilkan kecocokan yang dibuat dengan bom itu, area ubin akan dihapus. Area ini akan berisi sejumlah 3 himpunan bagian ubin dalam baris lain, yang berarti bahwa pergerakan di masa mendatang tidak harus terbatas pada satu baris / kolom tunggal. Ini akan menghasilkan ubin gaya "bom" yang akan menghapus area saat dihapus. Jika kita kemudian menjatuhkan set ubin pengganti lain yang menghasilkan kecocokan yang dibuat dengan bom itu, area ubin akan dihapus. Area ini akan berisi sejumlah 3 himpunan bagian ubin dalam baris lain, yang berarti bahwa pergerakan di masa mendatang tidak harus terbatas pada satu baris / kolom tunggal. Ini akan menghasilkan ubin gaya "bom" yang akan menghapus area saat dihapus. Jika kita kemudian menjatuhkan set ubin pengganti lain yang menghasilkan kecocokan yang dibuat dengan bom itu, area ubin akan dihapus. Area ini akan berisi sejumlah 3 himpunan bagian ubin dalam baris lain, yang berarti bahwa pergerakan di masa mendatang tidak harus terbatas pada satu baris / kolom tunggal.
sumber
Anda telah menyentuh masalah penghentian dalam ilmu komputer.
Diberikan deskripsi dari program komputer yang sewenang-wenang, dapatkah kita menyimpulkan jika itu akan berhenti pada suatu titik atau berjalan selamanya? Ada alasan mengapa ini disebut "masalah".
Jawaban singkatnya adalah: tidak, Anda tidak dapat menjamin bahwa permainan Bejeweled tidak akan pernah memiliki langkah ilegal. Karena untuk menjamin itu akan memakan waktu komputasi yang tak terbatas.
sumber