⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shark.java

📁 鲨鱼攻击猎物游戏 是一个Applet程序
💻 JAVA
字号:
package shark;

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.xpoints[0] -= 5;
            }
            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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -