shark.java

来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 74 行

JAVA
74
字号
import java.awt.*;

public class Shark
{
	private Polygon fin	=	new Polygon(new int[] {0, 0, 30},
										new int[] {60, 30, 60},
										3);
	private SharkAttack applet	=	null;
	private int			deltaX	=	4;
	public Shark(SharkAttack _applet)
	{
		applet = _applet;
	}
	public  void moveUp()
	{
		fin.translate(0, - 6);
	}
	public  void moveDown()
	{
		fin.translate(0, + 6);
	}
	public void turnLeft()
	{
		fin.xpoints[1]	=	fin.xpoints[2];
		deltaX			=	- Math.abs(deltaX);
	}
	public void turnRight()
	{
		fin.xpoints[1]	=	fin.xpoints[0];
		deltaX			=	+ Math.abs(deltaX);
	}
	public void dive()
	{
		if ((fin.ypoints[2] - fin.ypoints[1]) > 0)
		{
			if (deltaX > 0)
				fin.xpoints[2] -= 5;
			else
				fin.xpoints[0] += 5;
			fin.ypoints[1] = 5;
		}
	}
	public void rise()
	{
		if ((fin.ypoints[2] - fin.ypoints[1]) < 40)
		{
			if (deltaX > 0)
				fin.xpoints[2] += 5;
			else
				fin.ypoints[1] -= 5;
		}
	}
	public void move()
	{
		if (fin.xpoints[0] > applet.getSize().width)
			turnLeft();
		if (fin.xpoints[0] < 0)
			turnRight();
		fin.translate(deltaX, 0);
	}
	public Point getTip()
	{
		if ((fin.ypoints[2] - fin.ypoints[1]) < 4)
			return new Point(fin.xpoints[1], fin.ypoints[1]);
		else
			return new Point(-1, -1);
	}
	public void paintComponent(Graphics g)
	{
		g.setColor(Color.lightGray);
		g.fillPolygon(fin);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?