· 简介
看到学弟学妹们在写一个有关贪吃蛇的JAVA课程设计代码,自己也闲着没什么事,于是就整了了一份JAVA版本的贪吃蛇也学习了一下,本代码使用的是JAVA中的swing界面,Myeclipse下编译的.
· 介绍一下主要的思想
蛇的显示:
一条蛇,有头和身体两个部分,他们的和就是蛇的长度,我们用一个数组保存整个蛇,因为我们要显示的不是一条直线,而是一个个的方块组成的蛇,所以我们的数组保存的是蛇身体的每一个方块儿的左上角的坐标,BlockLeftTopX[]数组保存的是方框左上角的X坐标,BlockLeftTopY[]数组保存的是方框左上角的Y坐标,BlockLeftTopX[0]与BlockLeftTopY[0]记录了蛇的头部位置,当我们知道了蛇的长度的时候就可以根据这两个数组绘制出蛇的显示了.
蛇的移动:
在屏幕中蛇只能按照四个方向进行移动,上下左右,当蛇移动的时候我们只需要调整蛇的位置数组即可;当蛇吃到了一个食物的时候,也就是说蛇需要增加一个方框,我们的做法是把这个方框添加到头部,这个时候需要将蛇的长度增加1,然后将原先的蛇在数组中向后移动一个位置,然后将获取到的位置作为新的蛇头进行处理.
蛇的碰撞检测:
碰撞的话有3个,吃到食物的时候,撞墙的时候,撞到自己的时候.
· 主要函数的解释
public Snake();
这是构造函数,这里初始化一下界面和一些基本的信息.
public void run();
这个函数是个线程函数,相当于定时器。用于蛇的自动移动
public void Step();
这个函数是在定时器中调用的,用于蛇的移动以及碰撞的检测,蛇的长度增加
public void ReCalcSnakeBodyPos();
用于调整蛇的位置函数.
public void EnLength();
当蛇吃到东西的时候,这个函数用于增加蛇的长度.
· 效果示例
· 下面附上示例代码的下载地址:
解压密码 yscode
百度网盘下载地址:http://pan.baidu.com/s/1hqgNRfQ
本文出自悠然品鉴,转载请注明出处:http://www.youranshare.com/codeorg/sid/123.html