Saya sedang membuat game petualangan point and click, dan saya saat ini mencoba mencari cara terbaik untuk mengimplementasikan sistem komando.
Asumsikan antarmuka Pulau Monyet atau gaya Maniac Mansion, dengan palet kata kerja, dan objek dalam adegan dan inventaris. Mengklik ini, Anda membangun kalimat untuk dieksekusi.
misalnya, Anda dapat mengklik look at
dan kemudian pohon untuk "melihat pohon" atau mengklik apel, lalu give
, dan kemudian seorang gadis, untuk mendapatkan "beri apel untuk gadis".
Ada tiga kemungkinan bentuk kalimat:
verb
, misalnya "simpan"verb noun
, misalnya "mengambil apel", "lihat gurita"verb noun noun
, misalnya "beri acar pada anjing yang rabies", "gunakan linggis dengan toples"
Dalam situasi yang berbeda, saya ingin tindakan yang akan dilakukan ditentukan oleh objek yang berbeda.
Misalnya, untuk give
kata kerja, mungkin ada tindakan default yang didefinisikan yang membuat karakter mengatakan sesuatu seperti "Saya lebih suka berpegang pada itu", atau anjing gila mungkin mendefinisikan tindakan di mana ia memakan apa pun yang Anda coba berikan. .
Jika antarmuka berfungsi seperti Maniac Mansion, maka Anda membuat kalimat, dan kemudian memerintahkannya untuk mengeksekusi (dalam Maniac Mansion, dengan mengklik kalimat tersebut, atau mengklik lagi pada hal terakhir yang Anda klik).
Jika itu berfungsi seperti Pulau Monyet, kalimat dieksekusi segera setelah selesai, yang menimbulkan masalah untuk kata kerja seperti use
yang kadang-kadang mungkin mengambil satu kata benda, dan lain kali dua.
Jadi bagaimana Anda menerapkan sistem yang menangani ini?
look
juga kata kerja dengan kata benda tunggal, dll.