ZAMYLA CHAN: Mari kita bersenang-senang dengan Lima belas. Lima belas adalah game pertama yang Anda dapatkan untuk menerapkan dan itu interaktif. Sekarang, tidak perlu khawatir. Anda tidak perlu menulis semuanya sendiri. Lihatlah kode distribusi karena banyak struktur permainan sudah diatur untuk Anda. Ia menerima dan mem-parsing baris perintah Argumen dari pengguna dan menciptakan papan berdasarkan masukan itu. Ia memeriksa apakah game tersebut telah menang dan keluar sekali pengguna memenangkan pertandingan. Dan untuk memenangkan pertandingan, itu akan input dari user dan memanggil fungsi Move. Jadi kita akan menerapkan empat fungsi untuk permainan Fifteen, init, menggambar, memindahkan, dan menang. Pertama, mari kita menangani init. Dalam init, untuk initialize, kami mewakili dewan dalam integer array 2D. Dan ini adalah variabel global yang disebut papan dengan dimensi MAX, dan MAX, dimensi maksimum papan. Sekarang, dimensi sebenarnya dari papan diberikan oleh pengguna, diwakili dalam integer d, yang bisa kurang dari MAX. Tapi, di C, Anda dapat mengubah ukuran array tidak, sehingga Anda terjebak dengan bahwa dimensi maksimum. Tugas Anda di init adalah untuk mengisi nilai-nilai papan dengan nilai yang benar. Sekarang, kami telah melihat array 1D, namun bagaimana array 2D bekerja? Ada indeks baris, nol diindeks seperti biasa, dan kemudian juga dari kolom. Dan Anda akan mengisi grid Anda di dalam turun nilai, seperti ini. Grid, 0, 0, baris 0, kolom 0, adalah 8, jaringan 0, 1 adalah 7. Hal ini untuk contoh di mana d, d kecil, adalah 3. Sekarang, dewan di Fifteen juga harus berisi ubin kosong, jika Anda sudah pernah bermain dengan permainan fisik. Tapi, papan adalah array integer, sehingga semua nilai harus bilangan bulat. Jadi terserah Anda untuk memutuskan integer Nilai untuk mewakili ubin kosong. Untuk menginisialisasi forum Anda, Anda dapat menggunakan lingkaran struktur mengandung mulai keadaan papan, di mana papan i j merupakan elemen pada baris i dan kolom j. Mereka mulai di Urutan menurun dan, ingat, bahwa jika jumlah ubin aneh, maka Anda akan harus menukar lokasi 2 dan 1. Jadi ada, kami telah kami diinisialisasi papan. Sekarang, bahwa kita telah diinisialisasi kami papan, saatnya untuk menarik itu. Hasil imbang akan mencetak keadaan saat ini papan, tetapi Anda perlu memastikan untuk mencetak ubin dalam urutan yang sama bahwa Anda telah diinisialisasi mereka. Dan Anda juga perlu memformat nomor Anda dengan benar. Karena kita mungkin memiliki satu digit dan dua digit, maka Anda ingin mencetak ruang kosong sebelum setiap angka satu digit. Anda menggunakannya dengan menggunakan placeholder -. Tapi ingat ruang kosong kami. Kami tidak ingin mencetak jumlah aktual bahwa kita telah dipilih untuk mewakili bahwa ruang kosong di papan, tapi kami juga tidak ingin mencetak apa-apa. Jadi apa yang dapat Anda lakukan adalah untuk mendefinisikan simbol atau karakter untuk mewakili ubin kosong. Dalam contoh sebelumnya saya telah memilih sebuah menggarisbawahi, dan kemudian Anda hanya mencetak bahwa setiap kali Anda mencapai kosong ruang dalam fungsi menarik Anda. Jadi menarik akan bersarang untuk loop. Sesuatu seperti ini. Untuk setiap baris, dan kemudian untuk setiap nilai dalam baris, Anda akan mencetak nilai dalam ruang ini. Setelah Anda dicetak semua nilai berturut-turut, maka Anda dapat mencetak baris baru. Ingat bahwa perintah untuk menarik Anda fungsi harus gema atau cermin order dalam fungsi Anda diinisialisasi. Sekarang bahwa Anda diinisialisasi papan dan bahwa Anda telah ditarik itu, saatnya untuk membiarkan pengguna mengedit dan membuat gerakan mereka. Jadi dalam fungsi Fifteen.c, yang Program mengambil input dari user dan kemudian memanggil fungsi bergerak, melewati dalam jumlah ubin yang pengguna ingin pindah. Sekarang, berhati-hatilah. Ini adalah jumlah aktual ubin dan bukan posisi yang sebenarnya. Jadi, Anda harus mencari genteng yang posisi untuk tahu di mana itu. Sekarang, Anda hanya harus memungkinkan pengguna untuk bergerak jika itu legal. Sebuah langkah hukum adalah setiap genteng yang berdekatan dengan ubin kosong. Itu berarti, di atas dan di bawah, untuk kiri dan ke kanan. Jadi, Anda harus tahu di mana ubin kosong juga. Sekarang, untuk setiap gerakan yang Anda cari pengguna genteng, tapi mungkin tidak terbaik untuk mencari ubin kosong setiap waktu karena Anda melakukannya setiap kali itu pengguna ingin pindah. Jadi, sebagai gantinya, yang terbaik untuk mengingat di mana ubin kosong menggunakan beberapa baik bernama variabel. Jadi, sekali Anda memungkinkan pengguna untuk membuat mereka bergerak, mereka baik pada mereka cara untuk memenangkan permainan Lima belas. Untuk memenangkan permainan Fifteen, ubin harus berada dalam urutan tertentu, dan fungsi memenangkan memeriksa apakah permainan dimenangkan. Ia mengembalikan Benar jika permainan ini menang dan ubin berada dalam urutan yang benar, dan False sebaliknya. Jadi untuk memenangkan permainan Fifteen, ubin harus urutan yang meningkat, dengan ubin kosong di sudut kanan bawah. Jadi bagaimana Anda memeriksa apakah pengguna telah pindah papan ke kanan orientasi? Nah, Anda akan iterate atas papan dan memeriksa nilai memastikan bahwa mereka berada di tempat yang tepat. Untuk melakukan ini, Anda dapat menggunakan bersarang untuk loop seperti yang Anda lakukan imbang dan init. Ada beberapa cara untuk memeriksa dan memvalidasi apakah dewan adalah benar dan menang a pembentukan, meskipun. Jika Anda pergi dari kiri ke kanan, mulai dari baris atas ke bawah, maka setiap Jumlah harus lebih besar dari sebelumnya. Hati-hati tentang apa yang menghargai Anda sudah dipilih untuk ubin kosong Anda sekalipun. Atau Anda bisa menggunakan variabel counter untuk memastikan bahwa setiap nilai di tempat, jika Anda datang dengan beberapa jenis rumus untuk mewakili ini. Jadi bersenang-senang bereksperimen dengan matematika. Setelah Anda datang dengan cara, kembali Benar sekali pengguna telah memenangkan pertandingan. Tetapi jika nilai apapun salah, kembali False, pengguna harus terus bergerak karena mereka tidak memenangkan pertandingan. Setelah Anda menerapkan cek ini dan, bersama dengan initialize, menggambar, dan bergerak, Anda selesai permainan Lima belas. Selamat dan bersenang-senang bermain. Nama saya adalah Zamyla dan ini adalah CS50.