이 기사에서는 Java로 작성된 간단한 움직이는 사각형 미니 게임 코드에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
실행 효과의 스크린 샷은 다음과 같습니다.
Java에서 처음으로 그래픽 인터페이스를 썼을 때 여전히 약간 순진했습니다. . 앞으로도 계속 노력하십시오! ! 특정 코드는 다음과 같습니다.
// Alexyui // game.java by 1093710210@ hitimport javax.swing.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.*; import java.util. myframe (); GameFrame.SetTitle ( "Alexyui의"Java Box Game "); gameframe.setDefaultCloseOperation (jframe.exit_on_close); gameframe.setvisible (true); }} // frame class myframe 확장 jframe {private int flag = 0; 보호 된 이중 X [] = {0,0,270,0,270}; 보호 된 이중 Y [] = {0,0,0,270,270}; 보호 된 int 수상자 [] = {0,0,0,0,0,0}; 공개 정적 최종 int default_width = 317; 공개 정적 최종 int default_height = 339; public myframe () {mypanel a = new mypanel (); Addkeylistener (new mykeylistener ()); this.add (a); setSize (default_width, default_height); } class myPanel은 JPanel을 확장합니다 {public mypanel () {} public void Paint (그래픽 g) {super.paint (g); Graphics2d G2 = (Graphics2d) g; lectangle2d rect1 = new emptangle2d.double (x [1], y [1], 30f, 30f); eartangle2d rect2 = new emptangle2d.double (x [2], y [2], 30f, 30f); lectangle2d rect3 = new emptangle2d.double (x [3], y [3], 30f, 30f); eartangle2d rect4 = new emptangle2d.double (x [4], y [4], 30f, 30f); // 중간 g2.setpaint (color.red)에 4 개의 상자를 그립니다. G2.DrawRect (120,120,30,30); G2.DrawRect (120,150, 30,30); G2.DrawRect (150,120, 30,30); G2.DrawRect (150,150, 30,30); // 네 모서리의 블록을 채우십시오 g2.setpaint (color.blue); if (우승자 [1] == 0) g2.fill (rect1); if (우승자 [2] == 0) g2.fill (rect2); if (우승자 [3] == 0) g2.fill (rect3); if (우승자 [4] == 0) g2.fill (rect4); g2.setpaint (color.red); // 선택한 블록을 빨간색 if (flag == 1) g2.fill (rect1)으로 사진을 찍습니다. if (flag == 2) g2.fill (rect2); if (flag == 3) g2.fill (rect3); if (flag == 4) g2.fill (rect4); g2.setpaint (color.blue); if (우승자 [1] == 1) g2.fill (rect1); if (우승자 [2] == 1) g2.fill (rect2); if (우승자 [3] == 1) g2.fill (rect3); if (우승자 [4] == 1) g2.fill (rect4); g2.setpaint (color.red); if (우승자 [1] == 1 && 우승자 [2] == 1 && 우승자 [3] == 1 && 우승자 [4] == 1) G2.DrawString ( "Succes! You Won!", 100,75); // 테두리의 색상을 유지합니다 g2.DrawRect (120,120, 30,30); G2.DrawRect (120,150, 30,30); G2.DrawRect (150,120, 30,30); G2.DrawRect (150,150, 30,30); 리 페인트 (); }} class mykeylistener는 Keylistener를 구현합니다. if (keyCode == keyEvent.vk_1) {flag = 1;} if (keyCode == keyEvent.vk_2) {flag = 2;} if (keyCode == keyEvent.vk_3) {keyCode == keyEvent.vk_4) {flag = 4;} if (if (keycode = 4;} if). 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, flag); win ();} if (keycode == keyevent.vk_right) {move (30,0, flag); win ();}} public void keyreleased (keyevent event) {} public void keytyped (keyevent event) {}} // 기본 규칙을 결정하는 데 사용, 블록 void move (int mx, int my, int mflag) {int i; 부울 텔러 = 거짓; x [mflag] += mx; y [mflag] += 내; if (! ((x [flag]> = 0 && x [flag] <= 270) && (y [flag]> = 0 && y [flag] <= 270)) {x [mflag] -= mx; y [mflag] -= 내; } for (i = 1; i <5; i ++) {if (mflag! = i) if (x [mflag] == x [i] && y [mflag] == y [i]) teller = true; } if (teller == true) {x [mflag] -= mx; y [mflag] -= 내; }} // 자격을 갖춘 영역에 입력 한 블록을 결정하는 데 사용되었습니다 void win () {int j1, j2; (j1 = 1; for (j2 = 1; j2 <5; j2 ++) if (! ((x [j2] <= 150 && x [j2]> = 120) && (y [j2] <= 150 && y [j2]> = 120)) 우승자 [j2] = 0;}}이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.