Saya menganggur selama liburan, jadi saya menghabiskan lebih dari seminggu menonton video yang diposting oleh seorang master alwing dari Baidu Java Bar. Saya belajar menulis tetris di Java. Di sini saya ingin mengucapkan terima kasih atas bantuannya dalam bentuk penerbitan kode sumber dan penjelasan yang diperlukan. Tentu saja, saya juga telah membuat beberapa perubahan di sini, dan antarmuka program dan fungsi yang saya buat tidak persis sama dengan miliknya.
Antarmuka untuk menjalankan seluruh program adalah sebagai berikut:
Fungsi yang termasuk dalam program ini adalah:
satu,
Desain seluruh program ditunjukkan pada gambar di bawah ini, dengan total tujuh paket. Karena desain asli program ini adalah untuk terhubung ke database untuk menyimpan nama dan skor pengguna, dan komputer saya gagal menginstal perangkat lunak basis data, saya membuat penyesuaian pada fungsi. Oleh karena itu, beberapa nama paket dan nama kelas tidak akan cocok dengan fungsi mereka sendiri.
dua,
Pemrograman antarmuka paling penting di seluruh program ditetapkan oleh kelas layer dalam paket UI. Ini mendefinisikan metode untuk membuat pemotongan gambar 64-by-64 piksel dan meregangkannya menjadi lebar dan tinggi yang telah ditentukan menggunakan fungsi drawImage, dan menampilkannya dalam koordinat yang ditentukan, sehingga menjadi jendela. Setiap lapisan ***. Kelas Java dalam paket UI mewarisi kelas layer dan digunakan untuk mengimplementasikan setiap antarmuka jendela, seperti jendela utama game (layergame), jendela level (LayerLevel), skor jendela (Layerpoint), dll. Selain itu, saya juga menutupi permukaan jendela dengan lapisan gambar yang tembel, dengan demikian mencapai "haze".
tiga,
Kelas IMG digunakan untuk mendeklarasikan semua objek gambar. Ketika saya mendeklarasikan jendela gambar perbatasan, saya sengaja menulis jalan yang salah, sehingga mencapai efek tanpa batas.
Empat,
Gambar kotak yang jatuh juga dilakukan dengan pemotongan gambar.
Setiap blok warna yang berbeda adalah ukuran yang sama, dan setiap kali Anda menggunakan fungsi drawImage untuk memotong blok warna yang berbeda. Pertama -tama, Anda harus menganggap jendela game utama sebagai sistem koordinat dengan sudut kiri atas sebagai asal. Jendela permainan utama memiliki lebar 9 dan ketinggian 16, sehingga koordinat sudut kanan bawah harus (15, 8), sehingga Anda dapat menentukan koordinat untuk persegi yang jatuh. Kemudian gunakan daftar <point []> untuk menyimpan koordinat setiap kotak kecil di blok jatuh.
Kotak yang jatuh harus dalam tujuh bentuk berikut:
Kemudian koordinat awal saat blok 0 hingga 6 jatuh dengan bebas harus:
Type_config = new arraylist <point []> (7); type_config.add (titik baru [] {titik baru (4,0), titik baru (3,0), titik baru (5,0), poin baru (6,0)}); type_config.add (point baru [] {new point (4,0), 3), New Point (3.0), 3), baru) (3,0), 3), poin baru (3,0), 3), baru (3.0), 3), baru (3.0), 3), poin baru (3,0), 3), baru (3.0), 3), 3) (3.0), 3), New (3.0), 3.0) (3.0), 3) (3.0), 3), baru (3,0), 3), baru (3,0), 3) (3,0), 3) (3,0), 3,0), baru (3,0), 3), New (3.0), 3) (3.0), 3. Point(4,1)});TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(4,1)});TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(5,0),new Point(3,1)});TYPE_CONFIG.add(new Point[]{new Poin (4,0), titik baru (5,0), titik baru (3,1), titik baru (4,1)}); type_config.add (titik baru [] {poin baru (4,0), poin baru (5,0), poin baru (4,1), titik baru (5,1)}); type_config.add baru (poin baru) (5,1)}); type_config. Titik (5,0), titik baru (5,1)}); type_config.add (titik baru [] {titik baru (4,0), titik baru (3,0), titik baru (4,1), titik baru (5,1)});Setiap kotak memiliki titik tengah. Saat persegi berputar, kuadrat berputar 90 ° di tengah lingkaran di titik tengah itu. Metode rotasi adalah sebagai berikut:
lima,
Kontrol logika permainan terutama di kelas Gameservice, yang menyadari penentuan apakah garis dapat dieliminasi, operasi garis, operasi yang sesuai keyboard, dll.
enam,
Program ini menggunakan dua paket JAR tambahan, DOM4J-1.6.1.jar dan JL1.0.1.jar. DOM4J-1.6.1.jar digunakan untuk membaca file XML. Ada file cfg.xml di folder konfigurasi, yang mengatur ukuran dan lokasi setiap jendela. Gunakan DOM4J-1.6.1.jar dalam program untuk membaca data XML, dan kemudian mengkonfigurasi antarmuka program berdasarkan data ini. Oleh karena itu, selama nilai dalam XML diubah, ukuran dan koordinat jendela dapat diubah.
JL1.0.1.jar digunakan untuk memainkan musik latar. Ini adalah fungsi yang saya tambahkan sendiri. Melalui metode yang disediakan oleh file jar ini, fungsi bermain musik dapat dengan mudah diimplementasikan. Di kelas MP3Player dan kelas utama, utas baru perlu dibuat di kelas utama. Metode Referensi Khusus: Musik Playback Latar Belakang Javaswing
tujuh,
Unduh Program Kode Sumber: Kode Sumber
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.