📄 bulletsprite.java
字号:
import java.awt.*;
import java.util.*;
import java.applet.*;
import java.awt.event.*;
abstract class SuperSprite
{
int X,Y,width,height;
boolean visible,active;
abstract public void paintSprite(Graphics g);
abstract public void updateState();
public int getX()
{
return X;
}
public int getY()
{
return Y;
}
public void setLocation(int X,int Y)
{
this.X = X;
this.Y = Y;
}
public int getWidth()
{
return width;
}
public int getHeight()
{
return height;
}
public void setSize(int width,int height)
{
this.width = width;
this.height = height;
}
public boolean canVisible()
{
return visible;
}
public void setVisible(boolean v)
{
visible = v;
}
public boolean canMove()
{
return active;
}
public void setMove(boolean m)
{
active = m;
}
}
class ImageSprite extends SuperSprite {
Image SpriteImage;
Applet Game;
public ImageSprite(Image SpriteImage,Applet Game){
this.SpriteImage = SpriteImage;
this.Game = Game;
setLocation(0,0);
setVisible(true);
setMove(true);
}
public void updateState(){
}
public void paintSprite(Graphics g) {
if(visible == true)
g.drawImage(SpriteImage,X,Y,Game);
}
}
public class BulletSprite extends ImageSprite {
int AppletWidth,AppletHeight;
char d = 'R';
int maze[][];
public BulletSprite(Image bullet,Applet Game,int[][] maze){
super(bullet,Game);
this.AppletWidth = Game.getWidth();
this.AppletHeight = Game.getHeight();
this.maze = maze;
setVisible(false);
setMove(false);
}
public void setdirection(char d){
this.d = d;
}
public void updateState(){
if(active == true){
switch(d){
case 'U':
if(Y < 0 || maze[(int)((Y)/36)][(int)(X/36)]!=0){
setVisible(false);
setMove(false);
setLocation(0,0);
}else
Y = Y - 18*2;break;
case 'D':
if(Y > AppletHeight || maze[(int)((Y)/36)][(int)(X/36)]!=0){
setVisible(false);
setMove(false);
setLocation(0,0);
}else
Y = Y + 18*2;break;
case 'L':
if(X < 0 || maze[(int)(Y/36)][(int)((X)/36)]!=0){
setVisible(false);
setMove(false);
setLocation(0,0);
}else
X = X - 18*2;break;
case 'R':
if(X > AppletWidth || maze[(int)(Y/36)][(int)((X)/36)]!=0){
setVisible(false);
setMove(false);
setLocation(0,0);
}else
X = X + 18*2;break;
}
}
}
public void paintSprite(Graphics g){
if(visible == true)
g.drawImage(SpriteImage,X,Y,Game);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -