📄 shootinggame.java
字号:
import java.applet.Applet; // for Applet
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
public class ShootingGame extends Applet implements Runnable {
Thread animationThread = null;
int appletW=300, appletH=350;
int pokerW=71, pokerH=96;
int delay = 100;
int nx, ny, px=20, py=20;
int left=0, top=0;
Image bgBuffer, img;
Graphics bgGC;
boolean jumping = false;
float dx=3, dy, vx=10, vy=0, dvy, acc=1;
Bullet[] bullet = new Bullet[12];
int index = 0;
Image image;
int steps;
boolean isVerticle=false;
Explosion[] explosion = new Explosion[12];
//This method is called when the applet becomes visible
public void init()
{
setSize(appletW, appletH);
bgBuffer = createImage(appletW, appletH);
bgGC = bgBuffer.getGraphics();
int maxSpeed = 3;
Color color;
for (int k=0; k<bullet.length; ++k)
{
bullet[k] = new Bullet();
bullet[k].setRange(appletW, appletH);
bullet[k].setXY(Math.random()*appletW, Math.random()*appletH);
bullet[k].vx = Math.random()* maxSpeed;
bullet[k].vy = Math.random()* maxSpeed;
color = new Color((int)(255*Math.random()), (int)(255*Math.random()), (int)(255*Math.random()));
bullet[k].setColor(color);
bullet[k].setVisible(true);
}
image = new ImageIcon(getClass().getResource("Explosion.png")).getImage();
steps = 4;
isVerticle = true;
for (int k=0; k<explosion.length; ++k)
{
explosion[k] = new Explosion(image);
explosion[k].setSteps(steps);
explosion[k].isVerticle = false;
}
addKeyListener(
new KeyAdapter() // anonymous class
{
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
ny = appletH;
if ( key==KeyEvent.VK_LEFT )
{
--nx;
if ( nx<0 ) nx=0;
}
else if ( key==KeyEvent.VK_RIGHT )
{
++nx;
if ( nx>=appletW ) nx=appletW-1;
}
else if ( key==KeyEvent.VK_SPACE )
{
bullet[index].setVisible(true);
bullet[index].setV(0, -Math.random()*5);
bullet[index].setXY(nx, ny);
index = (index+1) % bullet.length;
}
repaint();
}
}
);
addMouseListener(
new MouseAdapter()
{ //public void mouseClicked(MouseEvent e)
//public void mouseReleased(MouseEvent e)
public void mousePressed(MouseEvent e)
{
int button = e.getButton();
if ( button==MouseEvent.BUTTON1 ) // 1,2,3: from left to right
{
//System.out.println("Mouse's left button pressed!");
nx = px = e.getX();
ny = py = e.getY();
//repaint(); //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -