package hxy_one;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Game { //設定桌面寬度
private int table_width=300;
private int table_height=400;
//設定球拍的寬度和長度
private int pai_width=60;
private int pai_heitht=20;
//設定小球的大小
private int table_size=16;
//初始化小球的坐標
private int hallx=30;
private int hally=40;
//記錄小球的運動速度
private int speedx=10;
private int speedy=5;
//球拍的運動速度
private int relex=120;
private static int reley=340; boolean flag=false; Timer time; public class my extends Canvas{ @Override public void paint(Graphics g) { // TODO Auto-generated method stub if(flag) { g.setColor(Color.BLUE); g.drawString("游戲結束", 100, 200); } else { g.setColor(Color.RED); g.fillOval(30, 40, table_size,table_size); //設定下面的擋板 g.setColor(Color.GREEN); g.fillRect(relex, reley, pai_width, pai_heitht); } }
}
public void f() { Game.my m=new Game().new my(); Frame f=new Frame("彈球小游戲"); //球拍坐標的變化 KeyListener listener=new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // TODO Auto-generated method stub int a=e.getKeyCode(); if(a==KeyEvent.VK_LEFT) { if(relex>0) { relex-=10; } } if(a==KeyEvent.VK_RIGHT) { if(relex<table_width-pai_width) { relex+=10; } } } }; f.addKeyListener(listener); m.addKeyListener(listener); //對球的控制 ActionListener n=new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //判斷邊界 if(hallx<=0||hallx>=(table_width-table_size)) { speedx=-speedx; } else if(hally<=0||(hally>reley-table_size&&hallx>relex&&hallx<relex+pai_width)) { speedy=-speedy; } else if(hally>reley-table_size&&hallx<relex||hallx>relex+pai_width) { //游戲結束 time.stop(); flag=true; m.repaint(); } hallx+=speedx; hally+=speedy; m.repaint(); } }; f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } }); time=new Timer(100,n); time.start(); m.setSize(table_width,table_height); f.add(m); f.pack(); f.setVisible(true);
}
public static void main(String[] args) { new Game().f();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/278677.html
標籤:Eclipse
上一篇:springaop jointPoint獲取args為空
下一篇:java callback問題
