Java课程设计之贪吃蛇

合集下载

java课程设计贪吃蛇项目

java课程设计贪吃蛇项目

java课程设计贪吃蛇项目一、教学目标本节课的教学目标是让学生掌握Java编程语言的基本语法和面向对象编程思想,通过编写Java代码实现一个简单的贪吃蛇游戏。

具体目标如下:1.知识目标:–了解Java语言的基本语法和结构;–掌握面向对象编程的基本概念和方法;–熟悉Java中的常用数据结构和算法。

2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程思想解决实际问题;–具备基本的代码调试和排错能力。

3.情感态度价值观目标:–培养学生的编程兴趣和自信心;–培养学生团队合作和解决问题的能力;–培养学生勇于尝试和不断创新的精神。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言基本语法:介绍Java程序的基本结构,包括类、方法、变量等概念,以及如何编写和运行Java程序。

2.面向对象编程:讲解类的定义和创建,对象的创建和使用,以及封装、继承和多态等面向对象编程的基本概念。

3.贪吃蛇游戏设计:分析贪吃蛇游戏的需求,设计游戏类和游戏界面,实现游戏的基本功能,包括蛇的移动、食物的生成和消亡、游戏结束条件等。

4.算法实现:讲解如何在Java中实现常用的数据结构和算法,如数组、链表、排序等,并应用于贪吃蛇游戏中。

三、教学方法本节课采用以下教学方法:1.讲授法:讲解Java语言的基本语法和面向对象编程思想,让学生掌握编程的基本概念和方法。

2.案例分析法:通过分析贪吃蛇游戏的需求,引导学生思考如何设计和实现游戏功能,培养学生的编程思维和问题解决能力。

3.实验法:让学生动手编写Java代码,实现贪吃蛇游戏,培养学生的实际编程能力和代码调试能力。

4.小组讨论法:鼓励学生之间相互讨论和交流,共同解决问题,培养学生的团队合作和沟通能力。

四、教学资源本节课所需的教学资源包括:1.教材:《Java编程思想》或《Java核心技术》等;2.参考书:《Java编程指南》或《Java编程实践》等;3.多媒体资料:PPT、教学视频等;4.实验设备:计算机、网络等。

javat贪吃蛇课程设计

javat贪吃蛇课程设计

javat贪吃蛇课程设计一、课程目标知识目标:1. 学生能理解Java基础语法,掌握面向对象编程的基本概念。

2. 学生能掌握贪吃蛇游戏的逻辑结构和开发流程。

3. 学生能运用所学知识,实现一个具有基本功能的贪吃蛇游戏。

技能目标:1. 学生能运用Java编程语言,进行程序设计和代码编写。

2. 学生能运用面向对象思想,进行游戏角色和场景的设计与实现。

3. 学生能通过编写代码,实现游戏中的碰撞检测、分数统计等基本功能。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习主动性和创新精神。

2. 学生通过团队协作,培养沟通能力和合作精神。

3. 学生在游戏开发过程中,体会编程解决问题的乐趣,提高自信心。

课程性质分析:本课程为信息技术课程,以Java编程语言为基础,结合面向对象编程思想,设计贪吃蛇游戏。

课程注重理论与实践相结合,强调学生的动手实践能力。

学生特点分析:学生为七年级学生,具有一定的信息技术基础,对编程有一定的好奇心和兴趣。

学生在这个阶段,对新知识接受能力强,但注意力容易分散,需要通过有趣的实践项目来吸引其注意力。

教学要求:1. 教师应注重引导,让学生在实践中掌握Java编程基础和面向对象编程思想。

2. 教师应关注学生的个体差异,提供个性化的指导,提高学生的编程能力。

3. 教师应注重培养学生的团队协作能力,引导学生在合作中学习,共同完成贪吃蛇游戏开发。

二、教学内容1. Java基础知识回顾:变量、数据类型、运算符、控制流程(条件语句、循环语句)。

2. 面向对象编程基础:类与对象、构造方法、属性、方法、封装、继承、多态。

3. 游戏设计原理:游戏循环、场景绘制、角色控制、碰撞检测、分数统计。

4. Java图形用户界面(GUI):Swing图形用户界面编程,窗口、面板、按钮、键盘事件处理。

5. 贪吃蛇游戏开发:a. 游戏框架搭建:创建游戏窗口,设计游戏循环。

b. 角色对象设计:定义蛇和食物类,实现移动、增长和绘制。

毕业设计论文-基于Java的游戏设计贪吃蛇

毕业设计论文-基于Java的游戏设计贪吃蛇

毕业设计(论文)中文摘要1 绪论贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面是为了将我们自己的所学知识加以运用;另一方面,我希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。

希望通过这次实践,能从中提高自己的编程能力。

并从中学会从零开始分析设计程序,达到学以致用,活学活用的目的。

另外,通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。

本游戏的开发语言为Java,开发工具选用Eclipse。

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

这里采用Java作为开发语言主要是基于Java的面向对象和可移植性。

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

Java语言的特点1.1.1 简单性Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。

Java实现了自动的垃圾收集,简化了内存管理的工作。

1.1.2 平台无关性Java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。

Java 的数据类型与机器无关。

1.1.3 安全性Java的编程类似C++,但舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。

它提供了安全管理器,防止程序的非法访问。

1.1.4 面向对象Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。

1.1.5 分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。

javaeclipse贪吃蛇课程设计

javaeclipse贪吃蛇课程设计

javaeclipse贪吃蛇课程设计一、课程目标知识目标:1. 学生能理解Java语言面向对象编程的基本概念,如类、对象、方法等;2. 学生能掌握Eclipse集成开发环境的基本操作,如创建项目、编写代码、调试程序等;3. 学生能了解贪吃蛇游戏的基本逻辑和实现方法。

技能目标:1. 学生能运用Java语言编写简单的面向对象程序,实现贪吃蛇游戏的基本功能;2. 学生能运用Eclipse集成开发环境进行代码编写、调试和运行;3. 学生能运用所学知识解决实际问题,提高编程实践能力。

情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,树立编程学习的自信心;2. 学生在团队协作中,提高沟通与协作能力,培养集体荣誉感;3. 学生在游戏设计过程中,锻炼逻辑思维能力,培养解决问题的耐心和毅力。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为Java语言编程实践课,结合贪吃蛇游戏设计,提高学生的编程兴趣和实际操作能力;2. 学生特点:学生为具有一定Java基础知识的初中生,对编程有一定兴趣,喜欢动手实践;3. 教学要求:注重理论与实践相结合,以学生为主体,充分调动学生的积极性,培养学生的编程思维和团队协作能力。

将目标分解为具体的学习成果:1. 学生能独立完成贪吃蛇游戏的编写和调试;2. 学生能通过小组合作,共同优化贪吃蛇游戏的代码和功能;3. 学生在课程结束后,能对Java面向对象编程有更深入的理解,提高编程实践能力。

二、教学内容1. Java面向对象编程基本概念回顾:类、对象、方法、属性等;2. Eclipse集成开发环境使用:项目创建、代码编写、调试与运行;3. 贪吃蛇游戏逻辑分析:游戏规则、移动原理、食物生成、得分与结束条件;4. 游戏界面设计:窗口创建、绘图面板、键盘事件监听;5. Java编程实现贪吃蛇游戏:蛇的移动、食物的随机生成、得分与游戏结束判断;6. 游戏优化与拓展:碰撞检测、蛇身长度变化、速度提升、音效添加。

JAVA贪吃蛇课程设计报告

JAVA贪吃蛇课程设计报告

《Java应用开发》课程设计报告题目:JAVA小游戏- 贪吃蛇指导老师:姓名:专业:班级:日期:目录一、系统总体设计 (1)(一)设计目标及完成功能 (1)(二)系统结构设计 (1)二、详细设计 (2)(一)界面设计 (2)(二)系统设计 (5)(三)关键技术及算法 (6)四、测试 (7)五、安装使用说明 (7)总结(体会) (8)参考文献 (9)一、系统总体设计(一)设计目标及完成功能本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。

1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。

2.菜单栏分别为:游戏菜单和帮助菜单其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。

(二)系统结构设计图1-1 系统结构图二、详细设计(一) 界面设计贪吃蛇游戏的基本运行界面(1)生成初始界面:图2-1 初始界面(2)游戏菜单栏:图2-2 游戏菜单(2)积分排行菜单栏:图2-3 积分排行菜单(3)进行游戏界面:点击“游戏”,进入游戏菜单,选择“开始游戏”,或者使用快捷键“Ctrl+O”来开始游戏。

红色为贪吃蛇的身体部分,黑色方块为食物。

得分后,分数和得到食物数在左上角处实时显示。

图2-4 进行游戏(5)游戏结束界面:当蛇撞到墙壁或者自身的时候游戏结束。

图2-5 游戏结束界面(二) 系统设计(三) 关键技术及算法程序关键在于表示蛇的图形及蛇的移动。

用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。

java贪吃蛇课程设计报告总结

java贪吃蛇课程设计报告总结

课程设计报告:Java贪吃蛇游戏1. 背景贪吃蛇是一款经典的街机游戏,通过控制蛇的移动,吃掉食物,使蛇变得越来越长,直到触碰到边界或自己的身体为止。

该游戏在20世纪80年代流行起来,并成为了一种代表性的休闲娱乐方式。

贪吃蛇游戏可以提高玩家的反应能力、体力协调和空间感知能力。

本次课程设计旨在通过使用Java编程语言,设计实现一个简化版的贪吃蛇游戏,以加深学生对面向对象程序设计的理解和应用,并培养学生的逻辑思维能力和团队协作精神。

2. 分析2.1 游戏规则分析在贪吃蛇游戏中,玩家通过控制蛇的移动方向,使蛇吃到食物从而变长,直到游戏结束。

具体规则如下:•初始状态下,蛇由一个长度为3的身体组成,呈水平放置。

•蛇的移动方式为每个时间单位(通常为固定时间间隔)前进一格,移动方向由玩家通过键盘输入控制。

•蛇在吃到食物后,身体变长一节,并在地图上随机生成新的食物。

•蛇头碰到地图边界或自身身体的任意部分,游戏结束。

2.2 功能模块分析基于对游戏规则的分析,可以将贪吃蛇游戏的功能模块划分如下:•游戏初始化模块:初始化地图、蛇的初始位置和长度、生成初始食物等。

•用户输入模块:读取用户的键盘输入,控制蛇的移动方向。

•游戏逻辑模块:根据用户输入和游戏规则,更新蛇的位置、判断是否吃到食物或撞到障碍物等。

•地图绘制模块:将地图、蛇、食物等元素绘制到屏幕上。

•游戏循环模块:根据固定时间间隔循环执行游戏逻辑、用户输入和地图绘制等操作。

•游戏结束模块:在游戏结束时输出游戏得分等信息。

2.3 设计思路基于上述功能模块的分析,我设计了如下的实现思路:1.使用Java面向对象编程的思想,抽象出地图、蛇、食物等对象,并为其封装相应的属性和方法。

2.在游戏初始化模块中,创建地图对象、蛇对象,初始化位置和长度,并生成初始食物。

3.在用户输入模块中,利用Java的键盘事件监听机制,获取用户的方向输入,并通过调用蛇对象的移动方法实现控制蛇的移动方向。

贪吃蛇游戏java课程设计

贪吃蛇游戏java课程设计

贪吃蛇游戏java课程设计一、课程目标知识目标:1. 让学生掌握Java基本语法和面向对象编程思想;2. 让学生了解贪吃蛇游戏的基本规则和逻辑;3. 让学生掌握使用Java编写贪吃蛇游戏的方法和技巧。

技能目标:1. 培养学生独立分析问题、解决问题的能力;2. 培养学生运用所学知识进行实际项目开发的能力;3. 培养学生团队协作、沟通表达的能力。

情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学生主动学习的动力;2. 培养学生面对困难和挑战时,保持积极的心态和坚持不懈的精神;3. 培养学生遵守编程规范,养成良好的编程习惯。

课程性质:本课程为实践性较强的课程,旨在通过贪吃蛇游戏的设计与实现,让学生将所学的Java编程知识运用到实际项目中,提高学生的编程能力和实际操作能力。

学生特点:学生已具备一定的Java编程基础,对游戏开发有一定兴趣,但可能缺乏实际项目经验。

教学要求:注重理论与实践相结合,引导学生主动探究,培养其独立解决问题的能力。

在教学过程中,关注学生的个体差异,提供个性化指导,确保每位学生都能在课程中取得进步。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. Java基本语法复习:变量、数据类型、运算符、控制结构等;2. 面向对象编程:类与对象、继承、封装、多态等;3. Java图形用户界面(GUI):Swing组件、事件处理、布局管理器等;4. 游戏设计基础:游戏循环、碰撞检测、游戏逻辑等;5. 贪吃蛇游戏设计与实现:游戏规则、界面设计、蛇的移动与增长、食物的生成与消失、得分与结束条件等。

教学大纲安排如下:第一周:Java基本语法复习,面向对象编程基础;第二周:Java图形用户界面(GUI)设计与事件处理;第三周:游戏设计原理与贪吃蛇游戏分析;第四周:贪吃蛇游戏设计与实现,包括界面设计、游戏逻辑开发等;第五周:课程总结与展示,学生互评、教师点评。

教学内容关联教材章节:1. Java基本语法复习:教材第1-3章;2. 面向对象编程:教材第4-6章;3. Java图形用户界面(GUI):教材第7章;4. 游戏设计基础:教材第8章;5. 贪吃蛇游戏设计与实现:教材第9章及课外拓展内容。

java贪吃蛇课程设计

java贪吃蛇课程设计

java贪吃蛇课程设计一、课程目标知识目标:1. 让学生掌握Java基础语法,包括变量、数据类型、运算符、控制结构等。

2. 让学生理解面向对象编程的基本概念,如类、对象、封装、继承、多态。

3. 让学生学会使用Java编写图形用户界面(GUI)程序,运用事件处理机制。

技能目标:1. 培养学生运用Java编程解决问题的能力,特别是解决逻辑性和结构性问题。

2. 培养学生分析问题、设计算法、编写程序、调试程序的能力。

3. 提高学生的团队协作能力,通过分组合作完成课程设计。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学生学习Java的热情。

2. 培养学生勇于尝试、不怕失败的精神,面对编程难题保持积极的态度。

3. 培养学生的创新意识,鼓励他们在编程实践中尝试新思路、新方法。

分析课程性质、学生特点和教学要求,本课程目标具体、可衡量,旨在让学生通过学习Java编程,完成贪吃蛇游戏的设计与实现。

将目标分解为以下具体学习成果:1. 知识方面:学生能熟练运用Java语法和面向对象编程知识,掌握贪吃蛇游戏的基本逻辑。

2. 技能方面:学生具备编写、调试贪吃蛇游戏的能力,能通过团队协作解决问题。

3. 情感态度价值观方面:学生对编程产生浓厚兴趣,愿意主动探索、创新,培养良好的编程习惯。

二、教学内容根据课程目标,教学内容主要包括以下部分:1. Java基础语法:- 变量、数据类型、常量- 运算符、表达式、语句- 控制结构(顺序、分支、循环)2. 面向对象编程:- 类与对象- 封装、继承、多态- 抽象类与接口3. Java图形用户界面(GUI)编程:- AWT与Swing概述- 常用组件的使用- 事件处理机制4. 贪吃蛇游戏设计与实现:- 游戏逻辑分析- 界面设计与实现- 控制算法编写- 游戏优化与调试教学大纲安排如下:1. 第一周:Java基础语法学习,复习相关概念。

2. 第二周:面向对象编程知识学习,案例分析。

3. 第三周:Java GUI编程入门,编写简单的图形界面程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java课程设计之贪吃蛇安阳工学院计算机学院JAVA课程设计报告专业班级: 学生姓名: 学生学号: 小组成员: 指导教师姓名: 宋强目录一选题目的与系统概述 (1)1.1选题目的 (1)1.2系统概述.................................................................................1 二系统可行性分析与相关技术背景分析 (2)2.1系统可行性分析 (2)2.2相关技术背景分析.....................................................................2 三系统设计与关键技术 (3)3.1系统设计 (3)3.2关键技术.................................................................................5 四系统测试与操作实施方法.........................................................9 五系统设计总结与回顾 (11)六参考文献 (12)一、选题目的与系统概述1.1 选题目的贪吃蛇游戏是一款非常经典的游戏,因为它比较简单有趣,无论老少都比较适合。

贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。

在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。

因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。

在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。

正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用Netbeans开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。

学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握Netbeans环境的使用方法,培养起初步的项目分析能力和程序设计能力。

1.2 系统概述1.2.1 设计的主要内容贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。

在此只实现游戏的游戏主界面模块、游戏控制模块。

可实现开始、暂停、改变速度,更换颜色等功能。

1.2.2 设计要达到的目标本次设计要达到的目标分别从以下模块进行阐述:游戏主界面模块:游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏场景、状态栏、颜色设置、网格模式、及相关提示信息等。

从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。

游戏控制模块:这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停等功能。

为了能- 1 -够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。

1.2.3游戏设计环境本次课程设计所涉及和实现的是用Java编程语言和Netbeans开发工具开发的贪吃蛇游戏。

本次设计的系统环境及工具如下:编程语言:Java使用工具:jdk-6u16-windows-i586 Netbeans IDE 7.0.1二、系统可行性分析与相关技术背景分析2.1系统可行性分析游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。

本游戏友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的用户不需要专门进行培训,就可以立即学会如何使用。

本游戏的核心算法是如何实现移动和吃掉食物,没有碰到食物时,把当前远东方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架的背景颜色绘制出队的节点,这样就可以达到出队的效果。

而在吃食物的时候,只需把食物入队即可。

实现贪吃蛇的基本蛇的移动、吃到食物身体增长、碰壁后不会死亡,能够暂停和开始,以及当吃到自身时不会死亡。

在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个系统恢复性能好,连接速度快,以确保系统可使用性好。

另外,还要求系统的可扩展性、可维护性、可移植性良好。

软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。

包括如何把该游戏划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及模块结构的设计等。

2.2相关技术背景分析本次设计要运用java语言来完成,java 的特点是面向对象,可移植性,安全性,并发机制,支持可视化图形界面等,运用java 语言能够开发出安全,美观,JDK 运行高效的游戏。

本实验用到了Sun公司开发的jdk的java运行环境,是整JavaJavaJavaJava 个的核心,包括了运行环境,工具和基础的类库。

Java NetbeansNetBeans IDE用到了语言的项目开发软件。

是一个屡获殊荣的,WindowsMacLinuxSolarisNetBeans集成开发环境可以方便的在,,和中运行,包- 2 -NetBeans IDEJava括开源的开发环境和应用平台,可以使开发人员利用平台能够快WebNetBeans IDEPHPRuby速创建、企业、桌面以及移动的应用程序,目前支持、、JavaScriptAjaxGroovyGrailsC /C + +NetBeans、、、和等开发语言。

开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。

本课程项目是运用的Netbeans7.0.1的最新版本。

三、系统设计与关键技术3.1 系统设计3.1.1游戏设计流程图本次游戏设计的处理流程如图1所示。

进入游戏画面按ENTER键开始游戏。

键盘操作:左移右移向下向上蛇头碰到蛇尾游戏中途欲中断,稍后继续游戏是出现“是否再来一按ENTER键暂停游戏局,”否再次按ENTER键,游游戏结束戏恢复图1 游戏处理流程图- 3 -3.1.2 游戏功能设计本系统主要完成以下几方面的功能:1. 游戏控制功能——包括游戏的开始、暂停、结束2. 界面布局3. 其他辅助功能3.1.3 模块的划分设计根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。

贪吃蛇游戏游游戏戏主控块界制面模模块图2 游戏总设计模块1、游戏主界面模块游戏界面主框架主要包括游戏场景、状态栏、颜色设置、网格模式、及相关提示信息。

游戏界面主框架的主要结构图如图3所示。

游戏的主界面框架)面游面游即戏戏游图控戏形制画区按布域钮) 界界图3 游戏主界面框架- 4 -2、游戏控制模块游戏控制模块主要通过键盘上的按键来控制游戏的开始、游戏的暂停、游戏的结束这三个功能以及控制游戏速度变化、蛇的运动方向。

在这个模块中,需要给各个按键或文本框加入代码,来对上述的功能加以进一步的实现。

游戏控制模块的主要框架如图4所示。

游戏控制模块游游游戏戏戏的的的暂退开停出始功功功能能能图4 游戏控制模块框架游戏开始控制:按ENTER键,游戏画布的贪吃蛇即开始游动,游戏正式开始。

游戏暂停控制:中途可按ENTER键,游戏暂停;再按NETER键,游戏继续。

游戏退出控制:关闭界面,退出该游戏。

3.2 关键技术3.2.1 功能包的设计1、mysnake包包含Main方法和MainGui方法(1) main类整个程序的入口package mysnake;public class Main {public static void main(String[] agrs){new MainGui();- 5 -}}(2)MainGui类主界面类,继承自JFrame类,蛇场Box和设置面板settingPanel置于其上,包括对主窗口的属性的设置、注册监听者等2、mysnake.box包包含Box类、Food类、Snake类。

设置游戏运行状态,用来设计游戏的用户界面,设置蛇头颜色,食物颜色,背景颜色,随机块颜色,移动以及分数更新,实现上下左右移动的方法接口。

其中更新属性面板的方法如下:private void updateProperty() {//更新蛇长gui.getSettingPanel().getSnakeLengthLabel().setText("" +getSnake().getBody().size());//更新方向switch (gui.getBox().getSnake().getDirection()) {case Snake.DIRECTION_DOWN:gui.getSettingPanel().getDirectionLabel().setText("下,?");break;case Snake.DIRECTION_LEFT:gui.getSettingPanel().getDirectionLabel().setText("左,?");break;case Snake.DIRECTION_RIGHT:gui.getSettingPanel().getDirectionLabel().setText("右,?");break;case Snake.DIRECTION_UP:gui.getSettingPanel().getDirectionLabel().setText("上,?");break;}3、mysnake.contral包包含SettingListener类、SnakeKeyListener类。

SettingListener类是主界面类,继承自JFrame,蛇场Box和设置面板settingPanel置于其上,包括对主窗口的属性的设置、注册监听者等;SnakeKeyListener类设置按键监听,根据按键改- 6 -变蛇的方向、速度等设置。

其中颜色设置的代码实现如下:private Color getComboBoxColor(JComboBox comboBox) {Color newColor;String newColorString = (String) comboBox.getSelectedItem();if (newColorString.equals("黑色")) {newColor = Color.BLACK;} else if (newColorString.equals("蓝色")) {newColor = Color.BLUE;} else if (newColorString.equals("青色")) {newColor = Color.CYAN;} else if (newColorString.equals("深灰色")) {newColor = Color.DARK_GRAY;} else if (newColorString.equals("灰色")) { newColor = Color.GRAY;} else if (newColorString.equals("绿色")) { newColor = Color.GREEN;} else if (newColorString.equals("浅灰色")) { newColor = Color.LIGHT_GRAY;} else if (newColorString.equals("洋红色")) { newColor = Color.MAGENTA;} else if (newColorString.equals("橘黄色")) { newColor = Color.ORANGE;} else if (newColorString.equals("粉红色")) { newColor = Color.PINK;} else if (newColorString.equals("红色")) { newColor = Color.RED;} else if (newColorString.equals("白色")) { newColor = Color.WHITE;} else if (newColorString.equals("黄色")) { newColor = Color.YELLOW;} else {newColor = Color.BLACK;}return newColor;}}4、mysnake.settingground包包括clock类和一个设计窗体。

相关文档
最新文档