项目概述需求描述项目详解总体描述目录项目概述利用Java图形化技术和多线程技术开发一个贪食蛇游戏。游戏中玩家可以通过键盘控制游戏区中贪食蛇的运动,当蛇头碰到系统产生的食物时加长蛇身。当蛇碰到墙壁或者自己身体时,游戏结束。游戏设定3个级别,级别越高蛇运动的速度越快、难度越大,玩家可以根据自己的需要自由设定初始游戏级别,当玩家取得的分数到达一定水平时游戏自动进入下一个级别,达到最高级别时不再增加。游戏以最终玩家获得的分数来判断玩家水平高低需求描述游戏规则:玩家通过键盘控制蛇在游戏区中运动。当蛇头碰到软件提供的食物时,得分并增加蛇身长度一个单位。当蛇头碰到蛇身或墙壁时,如果没有相应的宝物则游戏结束。游戏设定两种宝物,一种为穿身宝物,另一种为穿墙宝物。记分规则:吃掉一个食物或者宝物加100分要求实现以下功能:(1)游戏功能:玩家可以在游戏区控制贪食蛇吃食物。(2)状态提示功能:使玩家能够在游戏过程中随时了解得分情况。(3)游戏控制:玩家可以通过游戏控制功能来选择开始新一局、暂停或者退出游戏。(4)级别设置:玩家可以根据自己的需要自行设定游戏开始级别。项目概览游戏界面设计游戏控制设计项目实现及调试项目实现过程游戏处理流程图单击开始Enter、S或R按钮,游戏恢复进入游戏单击“Space或P暂停游戏”与游戏暂停游戏中间终端,等会继续游戏点击“确定”游戏结束没有吃到食物且蛇碰到边界向下右移左移键盘操作:向上点击“Enter、S或R”键,游戏开始,蛇开始移动。总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计游戏控制模块的主要框架游戏的控制模块有以下三个主要模块组成:依次是游戏的移动速度模块、游戏的暂停功能模块和游戏的重新开始模块。三个模块相互配合,相互协调,共同完成贪吃蛇游戏的基本操作流程蛇、石头、食物的表示本次设计的贪吃蛇的系统设计,我把游戏界面想象成了一个表格,这个表格的没个格子的单位就是贪吃蛇的组成单位,每一个小的各个就能代表着一个食物,同时也能表示一块石头,贪吃蛇就是这样的多个石头或是格子组成的。下面我将用一个坐标图来区分这些格子的作用。吃到食物判定吃到食物是通过确定坐标是不是重合来判定的,它需要判断贪吃蛇的头和食物是否重合,那是因为贪吃蛇的身体都要走过贪吃蛇蛇头走过的地方。程序主结构点击程序应用图标进入游戏,就开始初始化,如果初始化失败,就报错:“不正常退出“,否则进入事件等待状态,等待游戏操作人员发出相关请求,由相关模块处理相关请求事件。主要成员变量java源文件和它的作用贪吃蛇类模块之间的关系的关系经验与教训本次项目的开发对键盘事件和鼠标点击事件的监听有了更深的了解。在设计过程中,遇到的最大问题是:系统设计了快捷键和鼠标点击事件,添加快捷键监听事件和鼠标监听事件后,程序运行时,每次按快捷键后就不能响应鼠标事件,开始点击鼠标后就不能响应按键事件,原因在于,如果开始运行后按快捷键则监听事件的焦点在按键上,所以不能响应鼠标点击事件。如果开始运行后点击鼠标则监听事件的焦点在鼠标上,所以不能响应快捷键按键事件。解决的方法是为每个鼠标监听事件添加按键监听事件。项目总结