Love Collector - 收集爱心,赢得大爱!
这是一个使用 Java Swing 库编写的简单游戏,名为“Love Collector”。玩家需要点击屏幕上出现的爱心来收集爱心,收集到一定数量的爱心后就能获得一个大爱心。游戏规则如下:
- 游戏开始时,屏幕上会出现一个男孩和一个爱心。
- 玩家需要点击爱心来收集爱心。
- 收集到一定数量的爱心后,会获得一个大爱心。
- 收集到所有爱心后,游戏结束。
代码示例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class LoveCollector extends JFrame implements ActionListener {
private final int SCREEN_WIDTH = 500;
private final int SCREEN_HEIGHT = 500;
private final int BOY_SIZE = 50;
private final int HEART_SIZE = 30;
private final int BIG_HEART_SIZE = 100;
private final int TOTAL_HEARTS = 13;
private final int HEARTS_TO_WIN = 12;
private JButton boy;
private JButton heart;
private JButton bigHeart;
private int collectedHearts;
private Random random;
public LoveCollector() {
setTitle('Love Collector');
setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container container = getContentPane();
container.setLayout(null);
boy = new JButton(new ImageIcon('D:\boy.png'));
boy.setBounds(0, 0, BOY_SIZE, BOY_SIZE);
container.add(boy);
heart = new JButton(new ImageIcon('D:\heart.png'));
heart.setBounds(getRandomX(), getRandomY(), HEART_SIZE, HEART_SIZE);
heart.addActionListener(this);
container.add(heart);
bigHeart = new JButton(new ImageIcon('D:\big_heart.png'));
bigHeart.setBounds(SCREEN_WIDTH / 2 - BIG_HEART_SIZE / 2, SCREEN_HEIGHT / 2 - BIG_HEART_SIZE / 2,
BIG_HEART_SIZE, BIG_HEART_SIZE);
bigHeart.setVisible(false);
container.add(bigHeart);
collectedHearts = 0;
random = new Random();
Timer timer = new Timer(1000, this);
timer.start();
}
private int getRandomX() {
return random.nextInt(SCREEN_WIDTH - HEART_SIZE);
}
private int getRandomY() {
return random.nextInt(SCREEN_HEIGHT - HEART_SIZE);
}
private void generateNewHeart() {
heart.setBounds(getRandomX(), getRandomY(), HEART_SIZE, HEART_SIZE);
heart.setVisible(true);
}
private void showBigHeart() {
bigHeart.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == heart) {
collectedHearts++;
if (collectedHearts == HEARTS_TO_WIN) {
generateNewHeart();
showBigHeart();
} else if (collectedHearts > HEARTS_TO_WIN) {
JOptionPane.showMessageDialog(this, 'Game Over!');
System.exit(0);
} else {
generateNewHeart();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
LoveCollector loveCollector = new LoveCollector();
loveCollector.setVisible(true);
});
}
}
代码说明:
- 将图片文件
boy.png、heart.png和big_heart.png放置在 D 盘根目录下。 - 修改代码中
ImageIcon对象的路径,使其指向 D 盘中的图片文件。 - 编译并运行程序,即可开始游戏。
注意:
- 如果图片文件不在 D 盘根目录下,请修改代码中
ImageIcon对象的路径,使其指向正确的图片文件位置。 - 确保图片文件格式正确,并且路径与代码中的路径一致。
玩转“Love Collector”:
- 点击屏幕上的爱心收集爱心。
- 收集到一定数量的爱心后,你将获得一个大爱心。
- 收集到所有爱心后,游戏结束。
“Love Collector”是一款简单有趣的游戏,快来玩玩吧!
原文地址: https://www.cveoy.top/t/topic/XUQ 著作权归作者所有。请勿转载和采集!