这个游戏大部分人都玩过,界面相当简单,主要就是子弹类,还有飞机类,然后再就是把子弹和飞机加到一个canvas当中去,然后canvas添加到jframe中。
class ball implements runnable{ //子弹类
private int x,y;
private int movex,movey;
private int width,height;
private int rx,ry;
private int rmovex,rmovey;
private ballcanvas canvas;
private thread newthread;
public ball(ballcanvas can){
width =can.getwidth(); //得到画图区的宽
height =can.getheight(); //得到画图区的高
rx =(int)(height*math.random());
ry =(int)(width*math.random());
rmovex =(int)(40*math.random());
rmovey =(int)(40*math.random());
x =rx; //球的起始点坐标
y =ry; //球的起始点坐标
movex =rmovex; //球位移的距离
movey =rmovey; //球位移的距离
canvas =can; //画图时用
newthread=new thread(this);
newthread.start();
}
public void run(){
while(newthread!=null){
canvas.repaint();
try{
thread.sleep(50);
}
catch(interruptedexception e){}
x=x+movex;
y=y+movey;
if(x<=0){
x=0;
movex=-movex;
}
if(x>=(width-30)){
x=width-30;
movex=-movex;
}
if(y<=0){
y=0;
movey=-movey;
}
if(y>=(height-30)){
y=height-30;
movey=-movey;
}
}
}
public void draw(graphics g){
g.setcolor(color.black);
g.filloval(x,y,5,5);
}
}class air { //飞机类
private int x,y; //飞机的坐标
private int width,height; //飞机可以飞到的区域
private ballcanvas canvas; //画图用
//private thread newthread; //飞机线程
public air(ballcanvas can){
width =300;
height =400;
x =width/2;
y =height/2;
canvas =can;
}
public void moveup(){
this.y-=10;
if(y<=0)y=0;
}
public void movedown(){
this.y+=10;
if(y>=height)y=height-5;
}
public void moveright(){
this.x+=10;
if(x>=width)x=width-5;
}
public void moveleft(){
this.x-=10;
if(x<=0)x=0;
}
public void draw(graphics g){
g.setcolor(color.red);
g.filloval(x,y,5,5);
}
} public void paint(graphics g){
air.draw(g);
for(int i=0;i<balls.length;i++){
balls[i].draw(g);
}
}
public void keypressed(keyevent e){
switch(e.getkeycode()){
case keyevent.vk_up:
air.moveup();
repaint();
break;
case keyevent.vk_down:
air.movedown();
repaint();
break;
case keyevent.vk_right:
air.moveright();
repaint();
break;
case keyevent.vk_left:
air.moveleft();
repaint();
break;
}
}Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器