Artikel ini menjelaskan kode mini-game Square Simple Moving Square yang ditulis dalam Java. Bagikan untuk referensi Anda, sebagai berikut:
Tangkapan layar efek berjalan adalah sebagai berikut:
Pertama kali saya menulis antarmuka grafis di Java, masih agak naif. . Tetap bekerja keras di masa depan! Lai Kode spesifiknya adalah sebagai berikut:
// Game Kotak Kecil Oleh Alexyui // Game.java oleh 1093710210@ HitImport Javax.Swing.*; Import java.awt.event.*; Impor Java.awt.geom.*; Import java.awt.*; Impor Java.util.*; Game Kelas Publik {Public Static Void. Myframe (); gameframe.settitle ("Java Box Game oleh Alexyui"); gameFrame.setDefaultCloseOperation (jframe.exit_on_close); gameframe.setVisible (true); }} // bingkai kelas myframe memperluas jframe {private int flag = 0; Double x [] = {0,0,270,0,270}; Double Y [] = {0,0,0,270,270}; pemenang int yang dilindungi [] = {0,0,0,0,0,0}; final public static int default_width = 317; final public static int default_height = 339; public myframe () {mypanel a = mypanel baru (); addKeyListener (mykeylistener baru ()); this.add (a); setsize (default_width, default_height); } kelas mypanel memperluas jpanel {public mypanel () {} public void cat (grafik g) {super.paint (g); Grafik2d g2 = (grafik2d) g; Rectangle2d rect1 = rectangle2d baru (x [1], y [1], 30f, 30f); Rectangle2d rect2 = rectangle2d baru (x [2], y [2], 30f, 30f); Rectangle2d rect3 = rectangle2d new.double (x [3], y [3], 30f, 30f); Rectangle2d rect4 = rectangle2d baru (x [4], y [4], 30f, 30f); // Gambar keempat kotak di tengah 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); // Isi blok di empat sudut g2.setpaint (color.blue); if (pemenang [1] == 0) g2.fill (rect1); if (pemenang [2] == 0) g2.fill (rect2); if (pemenang [3] == 0) g2.fill (rect3); if (pemenang [4] == 0) g2.fill (rect4); g2.setpaint (color.red); // Foto blok yang dipilih dalam if 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 (pemenang [1] == 1) g2.fill (rect1); if (pemenang [2] == 1) g2.fill (rect2); if (pemenang [3] == 1) g2.fill (rect3); if (pemenang [4] == 1) g2.fill (rect4); g2.setpaint (color.red); if (pemenang [1] == 1 && pemenang [2] == 1 && pemenang [3] == 1 && pemenang [4] == 1) g2.drawstring ("Sukses! Anda menang!", 100,75); // Simpan warna perbatasan G2.Drawrect (120.120, 30,30); g2.drawrect (120.150, 30.30); g2.drawrect (150.120, 30,30); g2.drawrect (150.150, 30.30); ulang (); }} kelas mykeylistener mengimplementasikan keyListener {// overide public void keypressed (keyevent event) {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_4) {4; {4; api = 4; api = 4; Keyevent.vk_up) {move (0, -30, flag); win ();} if (keycode == keyevent.vk_down) {move (0,30, flag); win ();} if (keycode == keyevent.vk_left) {moving (-30,0, flag); win (); KeyEvent.VK_RIGHT){move(30,0,flag);win();} } public void keyReleased(KeyEvent event){} public void keyTyped(KeyEvent event){} } //Used to determine the basic rules, move the block void move(int mx,int my,int mflag){ int i; boolean teller = false; x [mflag] += mx; y [mflag] += my; if (! ((x [flag]> = 0 && x [flag] <= 270) && (y [flag]> = 0 && y [flag] <= 270))) {x [mflag] -= mx; y [mflag] -= my; } untuk (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] -= my; }} // Digunakan untuk menentukan blok yang telah memasuki area yang memenuhi syarat void win () {int j1, j2; untuk (j1 = 1; j1 <5; j1 ++) if ((x [j1] <= 150 && x [j1]> = 120) && (y [j1] <= 150 && y [j1]> = 120)) pemenang [j1] = 1; untuk (j2 = 1; j2 <5; j2 ++) if (! ((x [j2] <= 150 && x [j2]> = 120) && (y [j2] <= 150 && y [j2]> = 120)) pemenang [j2] = 0;}}Saya harap artikel ini akan membantu pemrograman Java semua orang.