Java简单实现贪吃蛇经典小游戏(附源代码)

本文介绍了如何使用Java开发贪吃蛇小游戏,涉及Jframe、GUI、双向链表和线程等知识。在开发过程中,详细阐述了项目创建、页面设计、画蛇、食物生成、蛇的存活状态判断以及添加按钮等步骤。同时,提供了打jar包的教程,便于读者运行和体验游戏。
摘要由CSDN通过智能技术生成

Java简单实现贪吃蛇经典小游戏(附源代码)

老刘

老刘

77 人赞同了该文章

在我们学习java的时候,为了提高我们的兴趣,我们经常会使用所学到的知识去做一些小游戏,这篇blog就介绍了一个经典而且好理解的小游戏-贪吃蛇

一、使用知识

  • Jframe
  • GUI
  • 双向链表
  • 线程

二、使用工具

  • IntelliJ IDEA
  • jdk 1.8

三、开发过程

3.1素材准备

首先在开发之前应该准备一些素材,已备用,我主要找了一个图片以及一段优雅的音乐。

3.2 开发过程

3.2.1 创建项目

  • 首先进入idea首页 open一个你想放项目的文件夹

  • 进入之后右键文件名 new 一个新的Directory——Snake

  • 把准备好的素材复制到文件中

  • 继续创建目录 src/Sanke

  • 选中src Mark Directory as — Souces 把src添加为根目录

3.2.2 页面设计

  • 创建java Class 文件 Snake - new - java class SnakeName 接下来的时候会对这个SnakeName.java里面的代码不停完善
    首先设置窗口格式
package Sanke;

import javax.swing.*;

/**
 * @author Swyee
 **/
public class SnakeGame extends JFrame {

    SnakeGame(){
        this.setBounds(100, 50, 700, 500);//设置窗口大小
        this.setLayout(null);//更改layout 以便添加组件
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口的状态
        this.setResizable(false);//窗口不可以改变大小
        this.setVisible(true);//设置焦点状态为true
    }
    public static void main(String[] args) {
        new SnakeGame();
    }

}

  • 继续创建新的文件 SnakeGrid
package Sanke;

import java.awt.*;

/**
 * @author Swyee
 **/
public class SnakeGrid extends Panel {
    SnakeGrid(){
        this.setBounds(0, 0, 700, 400);
        this.setBackground(Color.black);设置背景颜色
    }

}
  • 将页面引用到SnakeGame.java中
package Sanke;

import javax.swing.*;

/**
 * @author Swyee
 **/
public class SnakeGame extends JFrame {
    SnakeGrid snakeGrid= new SnakeGrid();
    SnakeGame(){
        this.setBounds(100, 50, 700, 500);//设置窗口大小
        this.setLayout(null);//更改layout 以便添加组件
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口的状态
        this.setResizable(false);//窗口不可以改变大小
        this.add(snakeGrid);
        this.setVisible(true);//设置焦点状态为true
    }
    public static void main(String[] args) {
        new SnakeGame();
    }

}

运行样式

  • 设置背景图片 背景音乐
    在SnakeGrid.java中增加Music方法 设置画笔 绘图
package Sanke;

import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
 * @author Swyee
 **/
public class SnakeGrid extends JPanel {
    ImageIcon image = new ImageIcon("Snake/sky.jpg");//图片文件地址
    File f= new File("Snake/music.wav");//音乐文件地址
    SnakeGrid(){
        this.setBounds(0, 0, 700, 400);
        this.setBackground(Color.black);
    }

    /**
     * 设置画笔
     * @param g
     */
    @
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值