用Java实现森林冰火人游戏

本文介绍了一个使用JavaAWT库开发的森林冰火人游戏,玩家通过键盘控制角色移动,避开火源并收集水,游戏目标在限定时间内保持生命值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

public class ForestFireGame extends JFrame implements KeyListener {
    private static final long serialVersionUID = 1L;
    private static final int CELL_SIZE = 50;
    private static final int ROWS = 10;
    private static final int COLS = 10;

    private int playerRow;
    private int playerCol;
    private boolean[][] isTree;
    private boolean[][] isFire;
    private boolean[][] isWater;
    private int playerHealth;
    private int gameTime;
    private int difficultyLevel;
    private boolean gameOver;

    public ForestFireGame() {
        setTitle("森林冰火人");
        setSize(CELL_SIZE * COLS, CELL_SIZE * ROWS);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);

        addKeyListener(this);

        playerRow = ROWS / 2;
        playerCol = COLS / 2;
        playerHealth = 3;
        gameTime = 60;
        difficultyLevel = 1;
        gameOver = false;

        isTree = new boolean[ROWS][COLS];
        isFire = new boolean[ROWS][COLS];
        isWater = new boolean[ROWS][COLS];

        generateTrees();
        generateWater();

        setVisible(true);

        startGame();
    }

    private void startGame() {
        new Thread(() -> {
            while (!gameOver) {
                try {
                    Thread.sleep(1000);
                    gameTime--;

                    if (gameTime <= 0) {
                        gameOver = true;
                    }

                    spreadFire();
                    moveEnemies();

                    repaint();
              &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值