Isi kandungan:
- Langkah 1: Gambaran keseluruhan
- Langkah 2: Bahan
- Langkah 3: Membuat Permainan
- Langkah 4: Pengubahsuaian Masa Depan
- Langkah 5: Kesimpulannya
Video: Penyapu Mines: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Untuk projek akhir CPE 133 kami, Chase dan saya memutuskan untuk membuat permainan ‘Minesweeper’ yang menggunakan butang dan menukar input dari papan Basys-3 serta kod VHDL. Nama yang lebih baik untuk permainan ini adalah ‘Russian Roulette’, namun kami mahu menggunakan nama yang lebih mesra keluarga. Permainan ini melibatkan pengguna untuk menekan butang tengah di papan Basys untuk menetapkan secara rawak salah satu daripada 16 suis untuk menjadi 'aktif' dengan bom. Dua pemain kemudian bergilir-gilir menukar suis, satu demi satu, sehingga salah satu pemain membalikkan suis dengan ‘bom’. Apabila itu berlaku, paparan tujuh segmen memberi amaran kepada pemain bahawa pemain itu baru saja kehilangan permainan.
Langkah 1: Gambaran keseluruhan
Projek ini menggunakan banyak modul VHDL yang telah kami gunakan sepanjang suku ini. Pembilang empat bit digunakan bersama dengan tepi jam untuk mensimulasikan nombor empat bit rawak untuk mengaktifkan salah satu suis. Gambarajah keadaan juga digunakan untuk mengeluarkan kata-kata yang berbeza ke paparan tujuh segmen, mulai dari 'MAINKAN' ketika pemain berada di tengah permainan mereka, hingga 'KURANG' ketika salah satu pemain telah membuka suis aktif.
Langkah 2: Bahan
- Lembaga Pembangunan Basys3 dari Digilent, Inc.
- Vivado Design Suite BC_DEC.vhd (Fail ini diberikan kepada kami di Polylearn dan ditulis oleh Bryan Mealy)
- Kaunter 4 bit yang diperbuat daripada flip flop T
- FSM
Langkah 3: Membuat Permainan
Langkah pertama untuk membuat permainan ini ialah melukis gambarajah litar dengan semua komponen yang akan kita gunakan. Input untuk sistem ini adalah butang 1, 16 suis, dan Jam. Keluaran adalah paparan tujuh segmen dan anod. Setelah melukis rajah litar, kami menulis fail sumber individu untuk setiap komponen di Vivado dan menyatukannya menggunakan peta port di bawah fail sumber utama.
Keseluruhan asas permainan berputar secara rawak menetapkan salah satu daripada 16 suis untuk aktif dengan bom, dan agar pemain tidak mengetahui suis mana yang aktif sehingga suis aktif itu dihidupkan. Kami melihat penjana nombor rawak dan pseudorandom secara dalam talian, tetapi akhirnya kami memutuskan bahawa menggunakan pembilang 4-bit dan menetapkan suis yang sesuai untuk aktif cukup rawak untuk apa yang kami cari. Kami dapat menggunakan semula kaunter 4-Bit yang kami buat dalam projek sebelumnya untuk dapat melaksanakan tugasan ini. Kami menggunakan pembilang untuk membuat nombor rawak antara 0-15; kemudian dalam komponen main1, kami memberikan sepadan perpuluhan nombor rawak ke suis sepadan pada papan. Seperti yang dilihat dalam skema, output X (‘bom aktif’) dari komponen main1 dan suis yang dihidupkan oleh pemain menuju ke FSM1. Mesin keadaan mengeluarkan nilai Z bit satu yang kemudian dibaca oleh BC_DEC1. Mesin Keadaan Terhingga yang kami gunakan mempunyai dua keadaan yang berbeza: dalam keadaan A, paparan tujuh segmen keluaran ‘MAIN’ dan mesin tetap dalam keadaan itu sehingga menyedari bahawa suis yang diaktifkan dibalik. Setelah itu berlaku, FSM pergi ke keadaan B di mana ia mengeluarkan ‘LOSE’ ke paparan tujuh segmen dan tetap dalam keadaan itu sehingga semua 16 suis dibalik ke ‘0’. Apabila syarat itu dipenuhi, FSM sekali lagi pergi ke keadaan A dan menunggu pemain memulakan permainan lain. Gambar rajah Moore untuk membantu memahami FSM ini ditunjukkan di atas.
Langkah 4: Pengubahsuaian Masa Depan
Beberapa modifikasi yang sedang kami pertimbangkan untuk membuat permainan kami termasuk menambahkan lebih banyak bom ke lapangan (mungkin meningkat dari satu hingga tiga), menambahkan penghitung skor dan beberapa pusingan. Kami akhirnya memutuskan untuk menentang penambahbaikan ini, kerana kami mendapati bahawa bermain permainan yang lebih lama dan diperpanjang biasanya lebih tegang dan pada akhirnya lebih menyenangkan daripada permainan yang biasanya berakhir setelah tiga atau empat pertukaran bertukar.
Langkah 5: Kesimpulannya
Kami sangat gembira dengan hasil akhir projek ini; bukan hanya kerana versi akhir permainan ini menyeronokkan untuk dimainkan, tetapi juga kerana membuat dan memprogramkan projek ini memerlukan kita memanfaatkan sepenuhnya, jika tidak semua yang kita pelajari pada suku ini. Kami menggunakan Flip Flops, counter, FSM, jam, input pengguna dari papan, dan output ke paparan tujuh segmen.
Kami juga belajar bagaimana beberapa kesalahan sintaks dapat mematahkan program sepenuhnya (walaupun mereka dianggap baik dalam bahasa pengaturcaraan lain seperti Python atau Java) dan hanya selepas beberapa simulasi dan beberapa lelaran kod yang dimuat naik dan diuji pada papan, adakah anda akhirnya dapat menyelesaikan semua bug dari kod anda.
Disyorkan:
Pemegang gambar dengan pembesar suara terbina dalam: 7 Langkah (dengan gambar)
Pemegang Gambar Dengan Pembesar Suara Built-In: Berikut adalah projek yang hebat untuk dilaksanakan pada hujung minggu, jika anda ingin menjadikan anda pembesar suara yang boleh menyimpan gambar / kad pos atau bahkan senarai tugas anda. Sebagai sebahagian daripada pembangunan, kami akan menggunakan Raspberry Pi Zero W sebagai nadi projek, dan
Cara: Memasang Raspberry PI 4 Tanpa Kepala (VNC) Dengan Imej dan Gambar Rpi: 7 Langkah (dengan Gambar)
Howto: Memasang Raspberry PI 4 Headless (VNC) Dengan Imej dan Gambar Rpi: Saya merancang untuk menggunakan Rapsberry PI ini dalam sekumpulan projek yang menyeronokkan di blog saya. Jangan ragu untuk melihatnya. Saya ingin kembali menggunakan Raspberry PI saya tetapi saya tidak mempunyai Papan Kekunci atau Tetikus di lokasi baru saya. Sudah lama saya menyediakan Raspberry
Lancarkan Tayangan Tayangan Gambar Percutian Anda Dengan Sentuhan Sihir!: 9 Langkah (dengan Gambar)
Lancarkan Tayangan Tayangan Gambar Percutian Anda Dengan Sentuhan Sihir!: Selama bertahun-tahun, saya telah membiasakan diri untuk mengambil patung kecil dengan saya semasa dalam perjalanan: Saya sering membeli artoy kosong (seperti gambar dalam gambar) dan cat ia sesuai dengan bendera dan tema negara yang saya lawati (dalam kes ini, Sisilia). T
Penyapu automatik berkuasa Arduino: 9 Langkah
Penyapu Automatik Arduino Powered: Oleh itu, suatu hari saya memutuskan untuk membeli roomba tetapi terlalu mahal untuk saya seorang pelajar dan masih menjadi keutamaan saya adalah sekolah saya, dan idea melintas di fikiran saya yang menyatakan bagaimana "membuat satu, saya mempunyai latar belakang yang baik mengenai pengaturcaraan dan arduino jadi mengapa tidak?
Cara Membongkar Komputer Dengan Langkah dan Gambar yang Mudah: 13 Langkah (dengan Gambar)
Cara Membongkar Komputer Dengan Langkah dan Gambar yang Mudah: Ini arahan mengenai cara membongkar PC. Sebilangan besar komponen asas adalah modular dan mudah dikeluarkan. Walau bagaimanapun, adalah penting untuk anda mengaturnya. Ini akan membantu mengelakkan anda kehilangan bahagian, dan juga dalam membuat pemasangan semula