• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Java
  • 标签: JAVA  

资源简介

运用JAVA制作的小程序,是个赛车游戏。简单易懂,适合初学JAVA的同学,代码不长。

资源截图

代码片段和文件信息

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

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

     文件       4865  2009-12-15 16:13  CarRace.java

     文件       1449  2002-10-03 03:53  images\Green_Car.gif

     文件       1401  2002-10-03 02:50  images\Red_Car.gif

     文件       1446  2002-10-03 03:08  images\Blue_Car.gif

     文件        130  2002-10-03 05:26  CarRace.htm

     目录          0  2009-12-15 16:15  images

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

                 9291                    6


评论

共有 条评论