import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
public class Game
{
public static void main(String[] args)
{
GameFrame frame = new GameFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
}
}
class GameFrame extends JFrame
{
public GameFrame()
{
setTitle("小游戏");
setBounds(450,150,406,428);
GamePanel panel = new GamePanel();
add(panel);
addKeyListener(panel);
}
}
class GamePanel extends JPanel implements KeyListener/*接口...*/
{
public static int colorFlag = 0,flag = 0;
public static int ax1 = 0,ax2 = 360,ax3 = 0,ax4 = 360,
ay1 = 0,ay2 = 0,ay3 = 360,ay4 = 360;
public void paintComponent(Graphics g)
{
/*画出基本图形*/
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.BLUE);
Rectangle2D rect1 = new Rectangle2D.Double(ax1,ay1,40,40);
Rectangle2D rect2 = new Rectangle2D.Double(ax2,ay2,40,40);
Rectangle2D rect3 = new Rectangle2D.Double(ax3,ay3,40,40);
Rectangle2D rect4 = new Rectangle2D.Double(ax4,ay4,40,40);
g2.fill(rect1);
g2.fill(rect2);
g2.fill(rect3);
g2.fill(rect4);
Rectangle2D stand1 = new Rectangle2D.Double(160,160,40,40);
Rectangle2D stand2 = new Rectangle2D.Double(200,160,40,40);
Rectangle2D stand3 = new Rectangle2D.Double(160,200,40,40);
Rectangle2D stand4 = new Rectangle2D.Double(200,200,40,40);
g2.setPaint(Color.RED);
if(colorFlag==1)
g2.fill(rect1);
if(colorFlag==2)
g2.fill(rect2);
if(colorFlag==3)
g2.fill(rect3);
if(colorFlag==4)
g2.fill(rect4);
g2.draw(stand1);
g2.draw(stand2);
g2.draw(stand3);
g2.draw(stand4);
/*结束游戏*/
if(ay1>=160&&ay1<=200&&ax4>=160&&ax4<=200&&ax3>=160&&ax3<=200&&ax2>=160
&&ax2<=200&&ax1>=160&&ax1<=200&&ay3>=160&&ay3<=200&&ay2>=160&&ay2<=200&&ay4>=160&&ay4<=200)
{
g2.drawString("恭喜你!游戏结束!",155,120);
flag = 1;
}
}
public void keyPressed(KeyEvent e)
{
if(flag==0)
{
int k = e.getKeyCode();
if(k==KeyEvent.VK_1||k==KeyEvent.VK_NUMPAD1)
colorFlag = 1;
else if(k==KeyEvent.VK_2||k==KeyEvent.VK_NUMPAD2)
colorFlag = 2;
else if(k==KeyEvent.VK_3||k==KeyEvent.VK_NUMPAD3)
colorFlag = 3;
else if(k==KeyEvent.VK_4||k==KeyEvent.VK_NUMPAD4)
colorFlag = 4;
if(k==KeyEvent.VK_UP)/*向上移动*/
{
if(colorFlag==1)
ay1-=40;
if(ay1>=0&&ay1<=360)
if((ax1==ax2&&ay1==ay2)||(ax1==ax3&&ay1==ay3)||(ax1==ax4&&ay1==ay4))
ay1+=40;
else{}
else
ay1+=40;
if(colorFlag==2)
ay2-=40;
if(ay2>=0&&ay2<=360)
if((ax1==ax2&&ay1==ay2)||(ax2==ax3&&ay2==ay3)||(ax2==ax4&&ay2==ay4))
ay2+=40;
else{}
else
ay2+=40;
if(colorFlag==3)
ay3-=40;
if(ay3>=0&&ay3<=360)
if((ax3==ax2&&ay3==ay2)||(ax1==ax3&&ay1==ay3)||(ax3==ax4&&ay3==ay4))
ay3+=40;
else{}
else
ay3+=40;
if(colorFlag==4)
ay4-=40;
if(ay4>=0&&ay4<=360)
if((ax4==ax2&&ay4==ay2)||(ax4==ax3&&ay4==ay3)||(ax1==ax4&&ay1==ay4))
ay4+=40;
else{}
else
ay4+=40;
}
if(k==KeyEvent.VK_DOWN)/*向下移动*/
{
if(colorFlag==1)
ay1+=40;
if(ay1>=0&&ay1<=360)
if((ax1==ax2&&ay1==ay2)||(ax1==ax3&&ay1==ay3)||(ax1==ax4&&ay1==ay4))
ay1-=40;
else{}
else
ay1-=40;
if(colorFlag==2)
ay2+=40;
if(ay2>=0&&ay2<=360)
if((ax1==ax2&&ay1==ay2)||(ax2==ax3&&ay2==ay3)||(ax2==ax4&&ay2==ay4))
ay2-=40;
else{}
else
ay2-=40;
if(colorFlag==3)
ay3+=40;
if(ay3>=0&&ay3<=360)
if((ax3==ax2&&ay3==ay2)||(ax1==ax3&&ay1==ay3)||(ax3==ax4&&ay3==ay4))
ay3-=40;
else{}
else
ay3-=40;
if(colorFlag==4)
ay4+=40;
if(ay4>=0&&ay4<=360)
if((ax4==ax2&&ay4==ay2)||(ax4==ax3&&ay4==ay3)||(ax1==ax4&&ay1==ay4))
ay4-=40;
else{}
else
ay4-=40;
}
if(k==KeyEvent.VK_RIGHT)/*向右移动*/
{
if(colorFlag==1)
ax1+=40;
if(ax1>=0&&ax1<=360)
if((ax1==ax2&&ay1==ay2)||(ax1==ax3&&ay1==ay3)||(ax1==ax4&&ay1==ay4))
ax1-=40;
else{}
else
ax1-=40;
if(colorFlag==2)
ax2+=40;
if(ax2>=0&&ax2<=360)
if((ax1==ax2&&ay1==ay2)||(ax2==ax3&&ay2==ay3)||(ax2==ax4&&ay2==ay4))
ax2-=40;
else{}
else
ax2-=40;
if(colorFlag==3)
ax3+=40;
if(ax3>=0&&ax3<=360)
if((ax3==ax2&&ay3==ay2)||(ax1==ax3&&ay1==ay3)||(ax3==ax4&&ay3==ay4))
ax3-=40;
else{}
else
ax3-=40;
if(colorFlag==4)
ax4+=40;
if(ax4>=0&&ax4<=360)
if((ax4==ax2&&ay4==ay2)||(ax4==ax3&&ay4==ay3)||(ax1==ax4&&ay1==ay4))
ax4-=40;
else{}
else
ax4-=40;
}
if(k==KeyEvent.VK_LEFT)/*向左移动*/
{
if(colorFlag==1)
ax1-=40;
if(ax1>=0&&ax1<=360)
if((ax1==ax2&&ay1==ay2)||(ax1==ax3&&ay1==ay3)||(ax1==ax4&&ay1==ay4))
ax1+=40;
else{}
else
ax1+=40;
if(colorFlag==2)
ax2-=40;
if(ax2>=0&&ax2<=360)
if((ax1==ax2&&ay1==ay2)||(ax2==ax3&&ay2==ay3)||(ax2==ax4&&ay2==ay4))
ax2+=40;
else{}
else
ax2+=40;
if(colorFlag==3)
ax3-=40;
if(ax3>=0&&ax3<=360)
if((ax3==ax2&&ay3==ay2)||(ax1==ax3&&ay1==ay3)||(ax3==ax4&&ay3==ay4))
ax3+=40;
else{}
else
ax3+=40;
if(colorFlag==4)
ax4-=40;
if(ax4>=0&&ax4<=360)
if((ax4==ax2&&ay4==ay2)||(ax4==ax3&&ay4==ay3)||(ax1==ax4&&ay1==ay4))
ax4+=40;
else{}
else
ax4+=40;
}
repaint();/*重新绘画*/}
}
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
}
超简单的游戏,估计很少有人甚至没人会玩。。。
小游戏
最新推荐文章于 2024-07-14 22:26:46 发布