Baru -baru ini, saya membaca beberapa pengetahuan yang berorientasi pengetahuan, dan kemudian mengikuti penjelasan guru untuk membuat mini -game di sekitar matahari di sekitar matahari untuk berlatih dan mengkonsolidasikan pengetahuan belajar baru -baru ini:
Menggunakan Poin Pengetahuan: Warisan Kelas, Memuat dan Menulis Ulang Metode, Polimorfisme, Kemasan, dll.
menganalisa:
1. Perlu memuat gambar dan gambar
2. Bangun panel, beranda
3. Planet
Efek Peta:
Pertama -tama lihat diagram struktur kode sumber:
Sekarang secara bertahap menganalisis fungsi setiap kelas:
1) Alat ----- Paket Util
-Kelas konstan merangkum konstanta yang digunakan dalam permainan
-Kelas Gameutil merangkum fungsi pemuatan gambar dari game
-Kelas myframe Struktur panel game untuk kelas induk dari setiap panel
------ Alasannya adalah untuk merangkum data untuk memfasilitasi perluasan program.
Constant.java
Paket util;
Gameutil.java
Paket Paket; Penulis * */kelas publik gametil {private gametil () {} // Kelas alat biasanya membuat konstruktor private static getImage (string path) {url u = Gameuti. ; Myframe.java
Paket util; / public launchFrame () {jFrame frame = JFrame baru ("mygame"); Frame.setlocationRelationoto (null); @Author dell */class Painthreads Threads Thread {public void run () {while (true) {repain (); printStackTrace ();}}} public static void main (string [] args) {new myframe (). 2) Kelas Penanganan Acara Utama --- dalam paket surya
Planet kelas -planet mewarisi kelas bintang
Panel utama game -SolarFrame mewarisi ke kelas myframe
-Taret kelas bintang, ayah dari masing-masing planet
-Test kelas tes kelas, tidak perlu menjelaskan
Planet.java
Paket Solar; / Kecuali untuk gambar dan koordinat, planet ini berjalan di sepanjang elips: poros panjang, poros pendek, kecepatan gerakan, sudut rotasi. Jalankan double longaxis di sekitar bintang; , int) x, (int) y, null); (Center.x+Center.W/2) -longaxis; (Color.blue); .x + longaxis * math.cos (derajat); } Planet publik (string imgpath, double x, double y) {super (imgpath, x, y);} bil planet (pusat bintang, image img, double longaxis, ganda pendek, kecepatan ganda) {super (); = (center.x+center.w /2)+longaxis; .longaxis = longaxis; (Imgpath), longaxis, shortaksis, kecepatan);}}Solarframe.java
paket solar; .game_height/2; Earth.png ", 100,60,0.1); planet Mars = planet baru (Sun," Images/Mars.png ", 180.100.0.15); @Override public void cat (grafik g) {wimage (BG, 0, 0 , null);Star.java
Paket solar; int) x, (int) y, null);} public star () {} public star (Image img) {this.img = img; (null);} Public Star (Image IMG, Double X, Double Y) {this (IMG); ini (Gameutil.getImage (imgpath), x, y);Ringkasan: Mini -Game ini lebih baik ditangani oleh enkapsulasi kode, yang memfasilitasi perluasan program, dan mencerminkan kekuatan objek yang berorientasi. Akan ada berbagai masalah dan detail kecil dalam proses berbagai kategori pada tahap awal, tetapi setelah berurusan dengan ini, jumlah planet di periode selanjutnya relatif sederhana. digunakan. Air berorientasi objek terlalu dalam, ini hanyalah keterlibatan awal, dan masih perlu terus bekerja keras! Persimpangan Persimpangan
Di atas adalah analisis analisis permainan surya Java dan kode sumber.