Recentemente, li alguns dos conhecimentos do conhecimento e segui a explicação do professor para fazer um mini -jogo ao redor do sol ao redor do sol para praticar e consolidar o recente conhecimento de aprendizado:
Usando pontos de conhecimento: herança de classe, carregamento e reescrita de métodos, polimorfismo, embalagem, etc.
analisar:
1. Precisa carregar figuras e desenhos
2. Construa um painel, página inicial
3. Planet
Mapa de efeitos:
Primeiro veja o diagrama da estrutura do código -fonte:
Agora analise gradualmente as funções de cada classe:
1) Ferramentas ----- Pacote Util
-Constante de classe encapsulada a constante usada no jogo
-A classe Gameutil encapsula a função de carregamento de imagem do jogo
-Myframe classes A estrutura do painel de jogos para a classe pai de cada painel
------ O motivo disso é encapsular dados para facilitar a expansão do programa.
Constant.java
Pacote util;
Gameutil.java
Pacote Util; Autor Long */Public Classe Gametil {Private GameTil () {} // A classe de ferramentas geralmente constrói o construtor privado estático getImage (String Path) {URL U = Gameuti. ; Myframe.java
Pacote util; / public void Launchframe () {JFRame Frame = New JFrame ("MyGame"); Frame.SetLocationRelationOto (NULL); @Author dell * */classe Painthreads Threads threads {public void run () {while (true) {Repin (); PrintStackTrace ();}}} public static void main (string [] args) {new MyFrame (). 2) aula de manuseio de eventos principais --- no pacote solar
-Planetas de classe do plano herdado para a classe Star
-SolarFrame Game Principais painéis herdados para a classe MyFrame
-Star-classe planeta, o pai de cada planeta
-Teste de aula de teste, sem necessidade de explicar
Planet.java
pacote solar; / Exceto para imagens e coordenadas, o planeta corre ao longo da elipse: eixo longo, eixo curto, velocidade de movimento, ângulo de rotação. Execute o Longaxis Double em torno de uma estrela; , (int) x, (int) y, nulo); (Center.X+Center.W/2) -Longaxis; (color.blue); .x + longaxis * math.cos (grau); } Planet public (String imgpath, duplo x, duplo y) {super (imgpath, x, y);} bil planeta (star Center, imagem img, longaxis dupla, curta dura, velocidade dupla) {super (); = Center.x+Center.W /2)+Longaxis; .LonGaxis = Longaxis; (Imgpath), longaxis, curtaxis, velocidade);}}SolarFrame.java
pacote solar; .Game_Height/2; Earth.png ", 100,60,0,1); planeta marte = novo planeta (Sun," Images/Mars.png ", 180,100,0.15); @Override public void Paint (gráficos G) {Wimage (BG, 0, 0 , nulo);Star.java
Pacote solar; int) x, (int) y, nulo);} public star () {} public star (imagem img) {this.img = img; (NULL);} Public Star (Imagem IMG, Double X, Double Y) {this (img); este (gameutil.getImage (imgpath), x, y);Resumo: Este mini -jogo é melhor tratado pelo encapsulamento do código, que facilita a expansão do programa e reflete a força do objeto orientado. Haverá vários pequenos problemas e detalhes no processo de várias categorias no estágio inicial, mas depois de lidar com isso, o número de planetas no período posterior é relativamente simples. usado. A água orientada ao objeto é muito profunda, este é apenas um envolvimento preliminar e ainda precisa continuar trabalhando duro! Interseção Interseção
O exposto acima é a análise do Java Solar Game Analysis e o código -fonte.