เมื่อเร็ว ๆ นี้ฉันได้อ่านความรู้ที่เน้นความรู้บางอย่างจากนั้นทำตามคำอธิบายของครูเพื่อสร้างมินิเกมรอบดวงอาทิตย์รอบดวงอาทิตย์เพื่อฝึกฝนและรวบรวมความรู้การเรียนรู้ล่าสุด:
การใช้จุดความรู้: การสืบทอดของชั้นเรียนการโหลดและการเขียนใหม่ของวิธีการ polymorphism, บรรจุภัณฑ์ ฯลฯ
วิเคราะห์:
1. ต้องโหลดรูปภาพและภาพวาด
2. สร้างแผงหน้าแรก
3. ดาวเคราะห์
แผนที่เอฟเฟกต์:
ก่อนอื่นให้ดูแผนภาพโครงสร้างซอร์สโค้ด:
ตอนนี้ค่อยๆวิเคราะห์ฟังก์ชั่นของแต่ละคลาส:
1) เครื่องมือ ----- แพ็คเกจ UTIL
-คลาสคอนตินต์ห่อหุ้มค่าคงที่ที่ใช้ในเกม
-คลาส Gameutil ห่อหุ้มฟังก์ชันการโหลดรูปภาพของเกม
-คลาส MyFrame โครงสร้างของแผงเกมสำหรับคลาสแม่ของแต่ละแผง
------ เหตุผลนี้คือการห่อหุ้มข้อมูลเพื่ออำนวยความสะดวกในการขยายโปรแกรม
ค่าคงที่. java
แพ็คเกจ util;
gameutil.java
Util; * @author Long */Public Class Gametil {Private Gametil () {} // คลาสเครื่องมือมักจะสร้างตัวสร้างความเป็นส่วนตัวแบบคงที่ getImage สาธารณะ (เส้นทางสตริง) {url u = gameuti เส้นทาง); bufferedimage img = null; myFrame.java
แพ็คเกจ util; นำเข้า Javax.swing.jframe; / public void launchframe () {jframe frame = new jframe ("mygame"); Frame.SetLocationRelationoto (NULL); @author dell * */คลาส painthreads เธรดเธรด {public void run () {ในขณะที่ (จริง) {repain (); PrintStackTrace ();}}} โมฆะคงที่สาธารณะ (สตริง [] args) {new myFrame () 2) กระบวนการกิจกรรมหลัก
-Planet Class Planets ที่สืบทอดมาจาก Star Class
-SolarFrame Game Panels Main ที่สืบทอดมาจากคลาส MyFrame
-ดาวเคราะห์ระดับสตาร์พ่อของแต่ละดาวเคราะห์
-ชั้นเรียนทดสอบคลาสไม่จำเป็นต้องอธิบาย
Planet.java
Package Solar; // ยกเว้นรูปภาพและพิกัดดาวเคราะห์วิ่งไปตามวงรี: เพลายาวเพลาสั้นความเร็วการเคลื่อนไหวมุมการหมุน เรียกใช้ longaxis สองครั้งรอบดาว; , (int) x, (int) y, null); (center.x+center.w/2) -longaxis; ); รูปวงรีเส้นทาง x = center.x + longaxis * math.cos (องศา); x, y);} ดาวเคราะห์สาธารณะ (String imgpath, double x, double y) {super (imgpath, x, y);} bil planet (ศูนย์ดาว, ภาพ img, double longaxis, double shortaxis, ความเร็วสองเท่า) {super (super (super (super ( ); img = img; longaxis = longaxis; center, gametil.getimage (imgpath), longaxis, shortaxis, ความเร็ว);}}Solarframe.java
แพ็คเกจ Solar; . GAME_HEIGHT/2; /earth.png ", 100,60,0.1); Planet Mars = ดาวเคราะห์ดวงใหม่ (ดวงอาทิตย์," ภาพ/mars.png ", 180,100,0.15); @Override public Publ 0, null);
star.java
แพ็คเกจ Solar; int) x, (int) y, null);} public star () {} ดาวสาธารณะ (ภาพ img) {this.img = img; (NULL);} ดาวสาธารณะ (IMG IMG, Double X, Double Y) {this (img); นี่ (gameutil.getimage (imgpath), x, y);}}สรุป: มินิเกมนี้ได้รับการจัดการที่ดีขึ้นโดยการห่อหุ้มรหัสซึ่งอำนวยความสะดวกในการขยายตัวของโปรแกรมและสะท้อนความแข็งแกร่งของวัตถุ -ฟังก์ชั่นที่แตกต่างกัน จะมีปัญหาเล็ก ๆ น้อย ๆ และรายละเอียดในกระบวนการของหมวดหมู่ต่าง ๆ ในระยะแรก แต่หลังจากจัดการกับสิ่งเหล่านี้จำนวนดาวเคราะห์ในช่วงต่อมานั้นค่อนข้างง่าย ใช้แล้ว. น้ำที่มุ่งเน้นวัตถุนั้นลึกเกินไปนี่เป็นเพียงการมีส่วนร่วมเบื้องต้นและยังคงต้องทำงานหนักต่อไป! จุดตัด จุดตัด
ข้างต้นคือการวิเคราะห์การวิเคราะห์เกม Java Solar และซอร์สโค้ด