Este artigo descreve o simples código de mini-jogo de movimento em movimento escrito em Java. Compartilhe -o para sua referência, como segue:
A captura de tela do efeito em execução é a seguinte:
A primeira vez que escrevi uma interface gráfica em Java, ainda foi um pouco ingênuo. . Continue trabalhando duro no futuro! ! O código específico é o seguinte:
// Little Box Game de Alexyui // Game.java por 1093710210@ hitimport javax.swing.*; Importar java.awt.event.*; Importar java.awt.geom. MyFrame (); gameframe.settitle ("Java Box Game de Alexyui"); gameframe.setDefaultCloseoperation (jframe.exit_on_close); gameframe.setVisible (true); }} // classe de quadro myframe estende JFrame {private int flag = 0; duplo protegido x [] = {0,0,270,0,270}; duplo protegido y [] = {0,0,0,270,270}; Winner int protegido [] = {0,0,0,0,0,0}; public static final int default_width = 317; public static final int default_height = 339; public myFrame () {mypanel a = new MyPanel (); addKeyListener (new MyKeyListener ()); this.add (a); setSize (default_width, default_height); } classe mypanel estende JPanel {public mypanel () {} public void Paint (gráficos g) {super.paint (g); Graphics2d G2 = (Graphics2d) g; Retângulo2d ret1 = new retângulo2d.double (x [1], y [1], 30f, 30f); Retângulo2d ret2 = novo retângulo2d.double (x [2], y [2], 30f, 30f); Retângulo2d ret3 = novo retângulo2d.double (x [3], y [3], 30f, 30f); Retângulo2d ret4 = novo retângulo2d.double (x [4], y [4], 30f, 30f); // desenha as quatro caixas no meio g2.setpaint (color.red); G2.Drawrect (120.120,30,30); g2.Drawrect (120.150, 30,30); G2.Drawrect (150.120, 30,30); G2.Drawrect (150.150, 30,30); // preencha os blocos nos quatro cantos g2.SetPaint (color.blue); if (vencedor [1] == 0) G2.Fill (RECT1); if (vencedor [2] == 0) G2.Fill (RECT2); if (vencedor [3] == 0) G2.Fill (RECT3); if (vencedor [4] == 0) G2.Fill (RECT4); g2.setpaint (color.red); // fotos dos blocos selecionados em vermelho if (sinalizador == 1) g2.fill (rect1); if (sinalizador == 2) g2.fill (ret2); if (sinalizador == 3) G2.Fill (RECT3); if (sinalizador == 4) g2.fill (ret4); g2.setPaint (color.blue); if (vencedor [1] == 1) G2.Fill (RECT1); if (vencedor [2] == 1) g2.fill (ret2); if (vencedor [3] == 1) g2.fill (ret3); if (vencedor [4] == 1) G2.Fill (ret4); g2.setpaint (color.red); if (vencedor [1] == 1 && Winner [2] == 1 && Winner [3] == 1 && Winner [4] == 1) G2.DrawString ("Suceds! Você ganhou!", 100,75); // Mantenha a cor da borda g2.Drawrect (120.120, 30,30); g2.Drawrect (120.150, 30,30); G2.Drawrect (150.120, 30,30); G2.Drawrect (150.150, 30,30); repintar (); }} classe MyKeyListener implementa KeyListener {// Overideide public void KeyPressed (evento KeyEvent) {int keyCode = event.getKeyCode (); if (keycode == keyEvent.vk_1) {flag = 1;} if (keycode == keyEvent.vk_2) {flag = 2;} if (keycode == keyEvent.vk_3) {flag = 3;} if (keycode == == Keyevent.vk_up) {move (0, -30, flag); win ();} if (keycode == keyEvent.vk_down) {move (0,30, flag); win ();} if (keycode == keyEvent.vk_left) {move (-30,0,0,0, flag); KeyEvent.vk_right) {move (30,0, sinalizador); win ();}} public void keyreLeardeed (evento KeyEvent) {} public void keyped (evento KeyEvent) {}} // usado para determinar as regras básicas, mover o bloco void move (int mx, int my, int mflag) {int i; caixa booleano = false; x [mflag] += mx; y [mflag] += meu; if (! ((x [sinalizador]> = 0 && x [sinalizador] <= 270) && (y [sinalizador]> = 0 && y [sinalizador] <= 270))) {x [mflag] -= mx; y [mflag] -= meu; } para (i = 1; i <5; i ++) {if (mflag! = i) if (x [mflag] == x [i] && y [mflag] == y [i]) TELLER = true; } if (teclado == true) {x [mflag] -= mx; y [mflag] -= meu; }} // usado para determinar o bloco que entrou na área qualificada void win () {int j1, j2; para (j1 = 1; j1 <5; j1 ++) if ((x [j1] <= 150 && x [j1]> = 120) && (y [j1] <= 150 && y [j1]> = 120)) vencedor [j1] = 1; para (j2 = 1; j2 <5; j2 ++) if (! ((x [j2] <= 150 && x [j2]> = 120) && (y [j2] <= 150 && y [j2]> = 120)) vencedor [j2] = 0;}}}}}}Espero que este artigo seja útil para a programação Java de todos.