java 贪吃蛇游戏

发布时间:2023年12月25日

前言

此实现较为简陋,如有错误请指正。

其次代码中的图片需要自行添加地址并修改。

主类

public class Main {
? ? public static void main(String[] args) {
? ? ? ? new myGame();

? ? }

}

1

2

3

4

5

游戏类

import javax.swing.*;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.*;

import java.util.Timer;

public class myGame extends JFrame implements KeyListener {
?

? ? private int[] foodPos; // 食物位置坐标

? ? private List<int[]> coordinateS; // 总地址

? ? private int score = 0; // 玩家得分

? ? private Random random;

? ? private final String cell = "img/cell.png"; //格子地址

? ? private int keyCode = -1;

? ? public myGame() {
? ? ? ? random = new Random();

? ? ? ? foodPos = new int[]{-1, -1}; // 初始化为-1

? ? ? ? // 创建一个定时器

? ? ? ? Timer gameTimer = new Timer();

? ? ? ? // 设置定时器

? ? ? ? gameTimer.schedule(new timer(), 0, 200);

? ? ? ? InitCoordinate(); // 初始化格子地址

? ? ? ? InitJFrame(); // 初始化窗体

? ? ? ? LoadPicture(); // 加载图片

? ? }

? ? // 初始化地址

? ? private void InitCoordinate() {
? ? ? ? coordinateS = new ArrayList<>();

? ? ? ? coordinateS.add(new int[]{200, 200});

? ? ? ? coordinateS.add(new int[]{200, 200});

? ? ? ? this.getContentPane().removeAll(); // 清空图片显示

? ? }

? ? // 加载图片

? ? public void LoadPicture() {
? ? ? ? this.getContentPane().removeAll(); // 清空图片显示

? ? ? ? // 目前得分展示

? ? ? ? JLabel scoreTips = new JLabel("目前得分:" + score);

? ? ? ? scoreTips.setBounds(500, 10, 100, 20);

? ? ? ? this.getContentPane().add(scoreTips);

? ? ? ? // 提示

? ? ? ? JLabel Tips = new JLabel("<html> 按下任意方向键 <br><br> 即开始游戏 </html>

文章来源:https://blog.csdn.net/2302_76546999/article/details/135182990
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。