• 大小: 16KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-06-06
  • 语言: Java
  • 标签: java  游戏  

资源简介

JAVA编写的2D赛车游戏源码

资源截图

代码片段和文件信息

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import java.util.*;
class Car{
  Image img;
  int x y;
  Dimension dim;
  Car(Image img){
    this.img=img;
  }  
  Car(Image img int x int y){
    this.img=img; this.x=x; this.y=y;
  }
  Car(Image img int x int y Dimension dim){
    this(img x y);
    this.dim=dim;
  }
  void draw(Graphics g ImageObserver observer){
    g.drawImage(img x y observer);  
  }
  int getX(){ return x;}
  int getY(){ return y;}
  void setX(int x){this.x=x;}
  void setY(int y){this.y=y;}
  void setLocation(int x int y){
    this.x=x; this.y=y;
  }
  
  int getWidth(){ return img.getWidth(null);}
  int getHeight(){ return img.getHeight(null);}
  Rectangle2D getRectangle(){
    return new Rectangle2D.Float(x y getWidth() getHeight());
  }
  void move(int dx int dy){
    x+=dx;
    y+=dy;
    if(dim!=null){
      if(x<0)x=0;
      if(x+getWidth()>dim.getWidth()) 
        x=(int)dim.getWidth()-getWidth();
    }
  }
  boolean intersects(Car car){
    return getRectangle().intersects(car.getRectangle());
  }
  boolean intersects(int x int y){
    return getRectangle().intersects(x y getWidth() getHeight());
  }
}
public class CarRace extends applet implements KeyListener Runnable{
  Image buff;
  Canvas screen;
  Graphics2D gs gb;
  Car redCar;
  Car[] enemy=new Car[20];
  Button bStart;
  Thread game;
  boolean loop=true;
  Dimension dim=new Dimension(200 300);
  int road;
  Random rnd=new Random();
  public void init(){
    prepareResource();
    setBackground(Color.blue);
    initScreen();
    add(screen);
    bStart=new Button(“开始游戏“);
    add(bStart);
    bStart.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent ae){
        screen.requestFocus();
        if(!game.isAlive())
           game.start();
      }
    });
  }
  void prepareResource(){
    Image imgRed=getImage(getCodebase()“images/red_car.gif“);
    Image imgBlue=getImage(getCodebase()“images/blue_car.gif“);
    Image imgGreen=getImage(getCodebase()“images/green_car.gif“);
    MediaTracker mt=new MediaTracker(this);
    try{
      mt.addImage(imgRed 0);
      mt.addImage(imgBlue 1);
      mt.addImage(imgGreen 2);
      mt.waitForAll();
    }catch(Exception e){}
    buff=createImage((int)dim.getWidth() (int)dim.getHeight());
    gb=(Graphics2D)buff.getGraphics();
    redCar=new Car(imgRed 80250 dim);
    
    for(int i=0;i<10;i++){
       enemy[i]=new Car(imgBlue 0 0);
    }
    for(int i=10;i       enemy[i]=new Car(imgGreen 0 0);
    }
    for(int i=0;i       setEnemy(i);
    }
    game=new Thread(this);
  }
  public void stop(){
    loop=false;
  }
  public void run(){
    while(loop){
       drawScreen();
       try{ Thread.sleep(50);}catch(Exception e){}
    }  
  }
  voi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        388  2008-05-04 16:00  赛车游戏\.project

     文件        232  2008-05-04 16:00  赛车游戏\.classpath

     文件       4865  2008-05-04 16:08  赛车游戏\src\CarRace.java

     文件        723  2008-05-04 16:08  赛车游戏\bin\CarRace$2.class

     文件       2471  2008-05-04 16:08  赛车游戏\bin\Car.class

     文件       5023  2008-05-04 16:08  赛车游戏\bin\CarRace.class

     文件        801  2008-05-04 16:08  赛车游戏\bin\CarRace$1.class

     文件        141  2008-05-04 16:02  赛车游戏\bin\java.policy.applet

     文件       1446  2008-05-04 16:05  赛车游戏\images\blude_car.gif

     文件       1449  2008-05-04 16:05  赛车游戏\images\green_car.gif

     文件      10752  2008-05-04 16:08  赛车游戏\images\Thumbs.db

     文件       1401  2008-05-04 16:05  赛车游戏\images\red_car.gif

     目录          0  2008-05-24 20:41  赛车游戏\src

     目录          0  2008-05-24 20:41  赛车游戏\bin

     目录          0  2008-05-24 20:41  赛车游戏\images

     目录          0  2008-05-24 20:41  赛车游戏

     文件        245  2008-05-03 02:42  赛车游戏\使用说明.txt

----------- ---------  ---------- -----  ----

                29937                    17


评论

共有 条评论