Недавно я прочитал некоторые знания, ориентированные на знания, а затем последовал объяснению учителя, чтобы сделать мини -игру вокруг Солнца вокруг Солнца, чтобы практиковать и консолидировать недавние знания в области обучения:
Использование точек знания: наследование класса, загрузка и переписывание методов, полиморфизма, упаковки и т. Д.
проанализировать:
1. Необходимо загрузить картинки и рисунки
2. Создайте панель, домашнюю страницу
3. Планета
Карта эффекта:
Сначала посмотрите на диаграмму структуры исходного кода:
Теперь постепенно анализируйте функции каждого класса:
1) Инструменты ----- Утильский пакет
-Соответствующий класс инкапсулировал константу, используемую в игре
-Gameutil Class инкапсулирует функцию загрузки изображения в игре
-MyFrame Classes Структура игровой панели для родительского класса каждой панели
------ Причина этого состоит в том, чтобы инкапсулировать данные для облегчения расширения программы.
Constant.java
Package util;
Gameutil.java
Уточнение; Автор long * */public gametil {private gametil () {} // Класс инструментов обычно строит конструктор Private Public Static Getimage (String Path) {url u = Gameuti. ; Myframe.java
Уточнение пакета; / public void frame () {jframe frame = new jframe ("mygame"); Frame.SetLocationRelationoto (null); @Author dell * */Class Painthreads Thread {public void run () {while (true) {repain (); printStackTrace ();}}} public static void main (string [] args) {new myFrame (). 2) Класс обработки основного события --- в солнечном пакете
-Planet класс планеты наследуют на звездном классе
-Соларфрейм Гейма Главные панели наследуют класс MyFrame
Планета класса звезд, отец каждой планеты
-тест на тестовый класс класса, не нужно объяснять
Planet.java
Пакет Solar; / За исключением изображений и координат, планета работает вдоль эллипса: длинный вал, короткий вал, скорость движения, угол поворота. Запустить двойной лонгакс вокруг звезды; , (int) x, (int) y, null); (Center.x+Center.w/2) (Color.blue); .x + longaxis * math.cos (степень); } Public Planet (String imgpath, Double x, Double Y) {super (imgpath, x, y);} Bil Planet (Star Center, Image Img, Double Longaxis, Double Shortaxis, Double Speed) {super (); = (Center.x+Center.w /2)+Longaxis; .longaxis = longaxis; (Imgpath), longaxis, ortaxis, speed);}}SolarFrame.java
Пакет Solar; .game_height/2; Earth.png ", 100,60,0,1); планета Марс = Новая планета (Sun," Images/mars.png ", 180,100,0,15); @Override public void paint (графика g) {wimage (bg, 0, 0 , null);Star.java
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); это (gameutil.getimage (imgpath), x, y);Резюме: эта мини -игра лучше обрабатывается инкапсуляцией кода, которая облегчает расширение программы и отражает силу -ориентированные на объект. На ранней стадии будут различные небольшие проблемы и детали различных категорий, но после того, как они имели дело с ними, количество планет в более позднем периоде относительно прост. использовал. Вода -объект -ориентированная вода слишком глубока, это всего лишь предварительное участие, и все еще нужно продолжать усердно работать! Пересечение Пересечение
Приведенное выше анализ анализа солнечной игры Java и исходного кода.