实验项目
贪吃蛇游戏的设计与开发
实验要求
屏幕上随机出现一个“食物”,不会出现在“蛇”身上
玩家能利用上下左右键控制“蛇”的移动
“蛇”吃到“豆子”后“蛇”身体加长一节,得分增加,“蛇”碰到边界或蛇头与蛇身相撞,“蛇”死亡,游戏结束
进行交互界面的设计,要有开始键、暂停键和停止退出的选项,能够控制游戏进程
对蛇吃到豆子进行分值计算
可以设置游戏速度,游戏音乐等拓展元素
开发工具
程序语言:Java
开发工具:idea
实验原理
蛇身打印,利用矩形填充打印方块,几个方块存储在数组中,按顺序打印出来。数组存储的数据时按键方向判断之后对相应方向、比如上或者下加上高度或者宽度
蛇移动,就是不停刷新界面,重新绘制方块
键盘控制方向,键盘是new一个键盘监视器,把他给SnakeClient,然后new SnakeClient时候就可以调用。每个按键都有自己的代码,用getKeyCode返回按键值,然后用一个case给方向Direction赋值。其中方向,用了一个枚举类型来存储四个方向,不用枚举应该也可以,使用字符串常量,或者一个变量给四个值来判断方向
吃食物,用一个矩形区域检测,这个是java自带的,直接调用Rectangle中的这个检测函数。把food的矩形和蛇头的矩形区域比较。比较之后再次重新调用food的set函数设置food下次出现位置