以下是一个简单的 Java 程序,实现了一个基本的大鱼吃小鱼游戏:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class FishGame extends JFrame {
    private FishCanvas canvas;

    public FishGame() {
        canvas = new FishCanvas();
        add(canvas);

        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new FishGame();
            }
        });
    }
}

class FishCanvas extends JPanel implements KeyListener {
    private int fishX, fishY;
    private int smallFishX, smallFishY;
    private boolean isEaten;

    public FishCanvas() {
        fishX = 200;
        fishY = 200;
        smallFishX = 100;
        smallFishY = 100;
        isEaten = false;

        setFocusable(true);
        addKeyListener(this);
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.setColor(Color.BLUE);
        g.fillOval(fishX, fishY, 50, 50);

        if (!isEaten) {
            g.setColor(Color.RED);
            g.fillOval(smallFishX, smallFishY, 30, 30);
        } else {
            g.drawString('You win!', getWidth() / 2 - 30, getHeight() / 2);
        }
    }

    public void keyPressed(KeyEvent e) {
        int keyCode = e.getKeyCode();

        switch (keyCode) {
            case KeyEvent.VK_UP:
                fishY -= 10;
                break;
            case KeyEvent.VK_DOWN:
                fishY += 10;
                break;
            case KeyEvent.VK_LEFT:
                fishX -= 10;
                break;
            case KeyEvent.VK_RIGHT:
                fishX += 10;
                break;
        }

        if (fishX >= smallFishX && fishX <= smallFishX + 30 && fishY >= smallFishY && fishY <= smallFishY + 30) {
            isEaten = true;
        }

        repaint();
    }

    public void keyTyped(KeyEvent e) {}
    public void keyReleased(KeyEvent e) {}
}

这个程序创建了一个窗口,窗口内有一个画布,画布上有一个大鱼和一个小鱼。通过按键操作,可以控制大鱼的移动。当大鱼碰到小鱼时,游戏结束,显示'You win!'。

Java 大鱼吃小鱼游戏代码实现

原文地址: https://www.cveoy.top/t/topic/pj7t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录