JAVA贪吃蛇小游戏源代码系列

JAVA贪吃蛇小游戏源代码系列Java贪吃蛇小游戏元源代码

大家好,又见面了,我是你们的朋友全栈君。

欢迎关注公众号:

在这里插入图片描述

获取贪吃蛇小游戏的源代码。

贪吃蛇小游戏运行结果如下:
启动界面:
在这里插入图片描述
运行界面:
在这里插入图片描述
重启界面:
在这里插入图片描述
源代码框架如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190505112628451.pn

注:在运行程序的时候,得重新设计窗体的大小,以适合自己的电脑,其次,图片类和音乐类都保存在我自己电脑的F盘的相应路径下,在运行程序的时候需要将图片类和音乐类保存到自己的本地磁盘路径中,然后在程序中改变路径。

package snakeGame;/*
 * @project project
 * @author liyongping
 * @creed: just do it
 * @ date 2021/12/21 17:43
 * @ version 1.0
 */

//设置类,定义游戏中的各个参数,

public class Setting {
    //图片路径
    String background="src/snakeGame/image/timg.jpg";
    String restartPicture="src/snakeGame/image/restartPicture.jpg";
    String background1="src/snakeGame/image/background1.jpg";
    String up="src/snakeGame/image/up.png";
    String down="src/snakeGame/image/down.png";
    String left="src/snakeGame/image/left.png";
    String right="src/snakeGame/image/right.png";
    String food="src/snakeGame/image/food.png";
    String body="src/snakeGame/image/body.png";

    //音乐路径
    String applauseMusic="src/snakeGame/music/applauseMusic.wav";
    String eatFoodMusic="src/snakeGame/music/eatFoodMusic.wav";
    String DeadMusic="src/snakeGame/music/DeadMusic.wav";
    String pushButtonMusic="src/snakeGame/music/pushButtonMusic.wav";
    String encouragMusic="src/snakeGame/music/encouragMusic.wav";
    String backgroundMusic="src/snakeGame/music/backgroundMusic.wav";

}

package snakeGame;

/* Test类的主要任务是设计程序运行后的界面,包括 程序启动的界面和游戏运行界面。
 * 程序启动的界面包括背景图片和进入运行界面的Button,点击按钮之后程序关闭启动界面进入到运行界面,
 * 运行界面设置在SnakeGame类中,Test类大体设置了运行界面的大小可见与否等。
 */

import com.sun.deploy.panel.RuleSetViewerDialog;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Start    extends JFrame implements ActionListener  {
	public static RuleSetViewerDialog frame1;
	static  JFrame frame = new  JFrame( );
    Setting setting =new Setting();
	public  Start(){                                                 //设置启动界面
		addFrame();//添加框架
		AddButton();//添加按钮
		AddPicture();//添加图片
	}
	public void addFrame(){
		frame.setUndecorated(true);                                //用于取消边框背景
		frame.setLayout (null);
		frame.setSize(1000,600);//定义游戏边框大小
		frame.setLocation(100, 200);//定义游戏边框位置
		frame.setLocationRelativeTo (null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}

	//定义进入游戏按钮
	public  void  AddButton() {
		RButton  enterButton =new RButton("进入游戏");
		enterButton.setFont(new Font("华文行楷", Font.BOLD, 35));//定义字体
		enterButton.setForeground(Color.red);
		enterButton.setBounds (450,  450 , 200, 100);
		enterButton.setBackground(Color.white);
		frame.add(enterButton);
		enterButton.addActionListener(this);//添加按键响应事件
	}
	//加入背景图片
	public  void  AddPicture() {
		ImageIcon img = new ImageIcon(setting.background);
		JLabel Label= new JLabel(img);
		Label.setBounds(0,0,1000,600);            //设置大小
		frame.getLayeredPane().add(Label,new Integer(Integer.MIN_VALUE));      //设置图片底层和按钮在容器中的顺序
		JPanel  jp  =(JPanel)frame.getContentPane();
		jp.setOpaque(false);                                                   //设置透明与否
	}

	/*设置按钮的监听器事件
	 * 进入按钮的监听器事件的主要功能是当点击按钮以后,程序关掉启动界面,并转入运行界面。
	 * 主要实现原理是定义一个新界面的类,作为运行界面,然后定义一个关掉启动界面的方法,然后在监听器事件中,
	 * 调用关掉界面的方法,实例化运行界面
	 */
	@Override
	public void actionPerformed(ActionEvent e) {
		new music(setting.pushButtonMusic);
		// TODO 自动生成的方法存根
		closeThis();		   //关掉当前界面
		new snakeGameFrame ();//实例化运行界面
	}
	private void closeThis() {
		// TODO 自动生成的方法存根
		frame.dispose();
		frame.setVisible(false);
	}
}
package snakeGame;
/*
 * 定义一个类,用来描述贪吃蛇游戏中的蛇,蛇身上的每一个点,通过建立snakeNode的对象,指定不同的X轴和Y轴的值,就能组成一个蛇身。
 * 同时可以获得蛇身上的x和y点坐标,和颜色
 */
import java.awt.Color;

public class SnakeNode {    //定义蛇身集合中的各个元素点,x,y。以及颜色三个蛇的关键组成
    private int x;
    private int y;
    private Color color;//定义颜色
	public int setX=20;//定义蛇身每个点的大小
	public int setY=20;//定义蛇身每个点的大小
    public SnakeNode() {
        super();
    }
    public SnakeNode(int x, int y, Color color) {
        super();
        this.x = x;
        this.y = y;
        this.color = color;
    }
    public int getX() {
        return x;
    }
    public void setX(int x) {
        this.x = x;
    }
    public int getY() {
        return y;
    }
    public void setY(int y) {
        this.y = y;
    }
    public Color getColor() {
        return color;
    }
    public void setColor(Color color) {
        this.color = color;
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141213.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • B2C电商系统源码 在线商城源码[通俗易懂]

    B2C电商系统源码 在线商城源码[通俗易懂]B2C产品采用SSH+Jquery框架开发。具备构建大型电商平台的底层技术体系。支持Oracl与Mysql等多个主流数据库。一、商品系统支持实物与虚拟商品体系。无限制级商品分类与扩展。智能商品模板、个性定义商品属性与属性继承与关联。商品与资讯的智能关联、商品关键字维护,SEO效果更为高效、精准。二、订单系统完善订单流管理、精准跟踪状态与执行人分派。支持来自电商、电话以及渠道的多订单体系。支持订单全流程服务(订单打印、发运、到货、退货、换货、拒收)等。三、会员系统围绕会员精细服

    2022年9月19日
  • python flask-mail 实现qq发送邮件[通俗易懂]

    python flask-mail 实现qq发送邮件

    2022年2月20日
  • 在win2003上IIS部署可能出现的问题的解决方案

    在win2003上IIS部署可能出现的问题的解决方案

    2021年8月22日
  • Windows内核开发-3-内核编程基础

    Windows内核开发-3-内核编程基础Windows内核开发-3-内核编程基础这里会深入讲解kernel内核的API、结构体、和一些定义。考察代码在内核驱动中运行的机制。最后把所有知识合在一起写一个有用的驱动。本章学习要点:1:通用

    2022年7月3日
  • 关于计算机病毒的试题,计算机病毒测试题.doc

    关于计算机病毒的试题,计算机病毒测试题.doc计算机病毒1.下列叙述中,正确的一条是______。A、Word文档不会带计算机病毒B、计算机病毒具有自我复制的能力,能迅速扩散到其他程序上C、清除计算机病毒的最简单的办法是删除所有感染了病毒的文件D、计算机杀病毒软件可以查出和清除任何已知或未知的病毒2.下列关于计算机病毒知识的叙述中,正确的一条是______。A、反病毒软件可以查、杀任何种类的病毒B、计算机病毒是一种被破坏了的程序C、…

    2022年6月2日
  • jq正则表达式_JAVA 正则表达式

    jq正则表达式_JAVA 正则表达式一、JavaScript正则表达式正则表达式(英语:RegularExpression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。什么是正则表达式?正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更…

    2022年9月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号