java贪吃蛇小游戏(详解+源码)

目录

1.实现效果:

​​2.游戏玩法

3.需求分析

4.代码实现

1.实现效果:

源码可以加微信领取哦,或者加群862461829自取

群只是作为一个学习交流的作用,还有一些资源分享

【群里还含有:Java80g学习视频+Java学习书籍+Java项目实战源码+安装软件等】

微信:

2.游戏玩法


该游戏用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。这次我们以一关的实现为例,关卡控制交给读者自行添加。

3.需求分析


方向控制


首先我们需要实现的是通过按键实现控制蛇的运动方向,需要注意的有两点:

1.蛇运动的时候不能向上一个状态的反方向运动,例如,原先向右,下一次改变的方向不能为左。

2.运动的时候如果按了一个方向键,再下一次按键之前将维持原先的方向运动。

2.如果蛇头和身体的图片不一样,那么蛇头要随着运动方向进行旋转。

蛇的绘制


蛇我这里分为了蛇头和蛇身两部分,当然你也可以加蛇尾。这里以蛇头和蛇身两部分为例: 

蛇头游戏开始就已经存在,之后吃到一个食物都会使蛇身长度加一。蛇身的每一部分都会沿着它的前一部分的轨迹运动,而每一部分都会沿着蛇头的轨迹运动。

食物绘制


食物绘制相对比较简单,当一个食物被吃掉以后,便在地图的其他随机的一个地方产生下一个食物。

蛇和食物的生命周期
蛇:当蛇碰到地图边界,碰到自己的身体和尾巴的时候,即判定为死亡。

食物:当蛇头碰到食物,则食物死亡。

4.代码实现


项目目录


Constant类,存储一些常量。

public class Constant {
    public static final int GAME_WIDTH = 1024;//窗体宽度
    public static final int GAME_HEIGHT = 578;//窗体高度
    
    public static final String IMG_PRE="com/zzk/snake/img/";//图片路径前缀
}


MyFrame类,用于加载游戏窗体和不断刷新绘制窗体内容:

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import com.zzk.snake.constant.Constant;
 
public class MyFrame extends Frame{
    /**
     * 加载窗体
     */
    public void loadFrame(){
        this.setTitle("贪吃蛇");//设置窗体标题
        this.setSize
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值