この記事では、Javaで書かれた単純な動きの正方形のミニゲームコードについて説明します。次のように、参照のために共有してください。
実行効果のスクリーンショットは次のとおりです。
Javaでグラフィカルインターフェイスを初めて書いたとき、それはまだ少し素朴でした。 。将来的に一生懸命働き続けてください! !特定のコードは次のとおりです。
// Alexyuiによる小さなボックスゲームmyframe(); GameFrame.Settitle( "Java Box Game by Alexyui"); GameFrame.setDefaultCloseOperation(jframe.exit_on_close); gameframe.setVisible(true); }} //フレームクラスmyFrame拡張jframe {private int flag = 0;保護されたダブルx [] = {0,0,270,0,270};保護された二重Y [] = {0,0,270,270};保護されたInt Winner [] = {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); } class mypanel extends jpanel {public mypanel(){} public void paint(graphics g){super.paint(g); Graphics2d g2 =(graphics2d)g; rectangle2d rect1 = new rectangle2d.double(x [1]、y [1]、30f、30f); rectangle2d rect2 = new rectangle2d.double(x [2]、y [2]、30f、30f); rectangle2d rect3 = new rectangle2d.double(x [3]、y [3]、30f、30f); rectangle2d rect4 = new rectangle2d.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(winner [1] == 0)g2.fill(rect1); if(winner [2] == 0)g2.fill(rect2); if(winner [3] == 0)g2.fill(rect3); if(winner [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(winner [1] == 1)g2.fill(rect1); if(winner [2] == 1)g2.fill(rect2); if(winner [3] == 1)g2.fill(rect3); if(winner [4] == 1)g2.fill(rect4); g2.setpaint(color.red); if(winner [1] == 1 && winner [2] == 1 && winner [3] == 1 && winner [4] == 1)g2.drawString( "couces!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); Repaint(); }} class myKeyListenerを実装していますkeylistener {// public 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){keycode == keyevent.vk_4){flag = 4;} if(keycode == keyevent.vk_up){move(0、-30、flag); win();} if(keycode == keyevent.vk_down){move(0,30、flag); win();} if(keyevent.vk_left){move(-30,0、); keyevent.vk_right){move(30,0、flag); win();}} public void keyreleased(keyevent event){} public void keytyped(keyevent event){}} //基本的なルールを決定するために使用される、ブロックボイド移動(int mx、int my、int mflag)を移動するために使用されます。ブールテラー= 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; } 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] - = my; }} //適格なエリアに入ったブロックを決定するために使用されますvoid win(){int j1、j2; (j1 = 1; j1 <5; j1 ++)if((x [j1] <= 150 && x [j1]> = 120)&&(y [j1] <= 150 && y [j1]> = 120))勝者[j1] = 1; for(j2 = 1; j2 <5; j2 ++)if(!((x [j2] <= 150 && x [j2]> = 120)&&(y [j2] <= 150 && y [j2]> = 120))winner [j2] = 0;}}}この記事がみんなのJavaプログラミングに役立つことを願っています。