疯狂贪吃蛇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.实验设备:计算机、网络等。
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贪吃蛇游戏1. 背景贪吃蛇是一款经典的街机游戏,通过控制蛇的移动,吃掉食物,使蛇变得越来越长,直到触碰到边界或自己的身体为止。
该游戏在20世纪80年代流行起来,并成为了一种代表性的休闲娱乐方式。
贪吃蛇游戏可以提高玩家的反应能力、体力协调和空间感知能力。
本次课程设计旨在通过使用Java编程语言,设计实现一个简化版的贪吃蛇游戏,以加深学生对面向对象程序设计的理解和应用,并培养学生的逻辑思维能力和团队协作精神。
2. 分析2.1 游戏规则分析在贪吃蛇游戏中,玩家通过控制蛇的移动方向,使蛇吃到食物从而变长,直到游戏结束。
具体规则如下:•初始状态下,蛇由一个长度为3的身体组成,呈水平放置。
•蛇的移动方式为每个时间单位(通常为固定时间间隔)前进一格,移动方向由玩家通过键盘输入控制。
•蛇在吃到食物后,身体变长一节,并在地图上随机生成新的食物。
•蛇头碰到地图边界或自身身体的任意部分,游戏结束。
2.2 功能模块分析基于对游戏规则的分析,可以将贪吃蛇游戏的功能模块划分如下:•游戏初始化模块:初始化地图、蛇的初始位置和长度、生成初始食物等。
•用户输入模块:读取用户的键盘输入,控制蛇的移动方向。
•游戏逻辑模块:根据用户输入和游戏规则,更新蛇的位置、判断是否吃到食物或撞到障碍物等。
•地图绘制模块:将地图、蛇、食物等元素绘制到屏幕上。
•游戏循环模块:根据固定时间间隔循环执行游戏逻辑、用户输入和地图绘制等操作。
•游戏结束模块:在游戏结束时输出游戏得分等信息。
2.3 设计思路基于上述功能模块的分析,我设计了如下的实现思路:1.使用Java面向对象编程的思想,抽象出地图、蛇、食物等对象,并为其封装相应的属性和方法。
2.在游戏初始化模块中,创建地图对象、蛇对象,初始化位置和长度,并生成初始食物。
3.在用户输入模块中,利用Java的键盘事件监听机制,获取用户的方向输入,并通过调用蛇对象的移动方法实现控制蛇的移动方向。
JAVA开放性实验报告贪吃蛇

JAVA开放性实验报告贪吃蛇实验目的:本实验旨在利用Java语言实现一个经典的贪吃蛇游戏,通过实践提升对面向对象程序设计的理解和应用能力,加深对Java语言的熟练程度,并提高解决问题的能力和编程实践经验。
实验内容:1.设计游戏界面:通过Java中的Swing库实现游戏窗口的设计,包括游戏区域、游戏开始按钮、得分显示等。
2.实现游戏逻辑:设计贪吃蛇的移动规则,食物的生成和吃掉判定,碰撞检测等游戏逻辑。
同时实现游戏的主循环,控制游戏的进行。
3.实现键盘控制:通过监听键盘事件,实现玩家控制贪吃蛇的移动方向。
4.设计游戏机制:设置游戏的难度等级,增加贪吃蛇的移动速度、食物生成间隔等参数,使游戏更具挑战性。
5.设计游戏结束逻辑:当贪吃蛇头碰到墙壁或自身时,游戏结束并显示得分。
玩家可以选择重新开始游戏或退出。
实验步骤:1.设计游戏界面:创建一个JFrame窗口,在窗口中添加游戏画布,开始按钮和得分显示等组件。
2.实现游戏逻辑:设计Snake类和Food类,表示贪吃蛇和食物。
通过ArrayList存储贪吃蛇的身体节点,并实现移动、吃食物等方法。
3.实现键盘控制:通过实现KeyListener接口来监听键盘事件,根据按键控制贪吃蛇的移动方向。
4.设计游戏机制:设置贪吃蛇的移动速度、食物生成间隔等参数,根据难度级别逐步增加,使游戏更具挑战性。
5.设计游戏结束逻辑:当贪吃蛇头碰到墙壁或自身时,游戏结束并显示得分。
提供重新开始游戏和退出游戏的选项。
实验结果:经过实验设计和编码实现,成功完成了Java贪吃蛇游戏的开发。
游戏界面美观,操作流畅,游戏逻辑完整,玩家能够通过控制贪吃蛇吃到食物并获得得分。
随着游戏的进行,贪吃蛇会不断变长,玩家需要避开障碍,控制蛇头移动,体验游戏的乐趣和挑战。
实验总结:通过本次实验,我深入学习了Java语言的面向对象编程思想和应用,掌握了Swing库的使用方法,加深了对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贪吃蛇课程设计一、课程目标知识目标: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编程入门,编写简单的图形界面程序。
贪吃蛇java实验报告doc
贪吃蛇java实验报告doc贪吃蛇java实验报告篇一:JAVA贪吃蛇课程设计报告《Java应用开发》课程设计报告题目:指导老师:姓名:专业:班级:日期:JAVA小游戏 - 贪吃蛇目录一、系统总体设计 ................................. 1 (一)设计目标及完成功能 ........................ 1 (二)系统结构设计 .............................. 1 二、详细设计 ..................................... 2(一) 界面设计 ................................... 2 (二) 系统设计 ................................... 4 (三) 关键技术及算法 ............................. 6 四、测试 ......................................... 7五、安装使用说明 (7)总结(体会) ..................................... 8参考文献 .. (8)一、系统总体设计(一)设计目标及完成功能本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。
1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。
2.菜单栏分别为:游戏菜单和帮助菜单其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。
(二)系统结构设计图1-1 系统结构图二、详细设计(一) 界面设计贪吃蛇游戏的基本运行界面(1)生成初始界面:图2-1 初始界面(2)游戏菜单栏:图2-2 游戏菜单(2)积分排行菜单栏:图2-3 积分排行菜单(3)进行游戏界面:点击“游戏”,进入游戏菜单,选择“开始游戏”,或者。
小游戏贪吃蛇课程设计报告
Java小游戏贪吃蛇课程设计报告
使用键盘事件 监听器实现蛇 的移动和转向
Java小游戏贪吃蛇课程设计报告
通过碰撞检测类实现碰 撞和游戏结束条件
Java小游戏贪吃蛇课程设计报告
使用Java Timer类实现分数和时间的更新
在实现过程中,我们遇到了以下问题和解决方案
在本次课程设计中,我们选择了一个经典的小游戏——贪吃蛇。贪吃蛇是一款简单而有趣 的游戏,玩家需要控制一条蛇在屏幕上移动,吃掉食物并避免撞到墙壁或自己的尾巴 在开始设计之前,我们首先对游戏进行了需求分析。我们需要实现以下功能
Java小游戏贪吃蛇课程设计报告
创建游戏窗口和背景
Java小游戏贪吃蛇课程设计报告
Java小游戏贪吃蛇 课程设计报告
-
1 创建游戏窗口和背景 2 生成蛇和食物 3 实现蛇的移动和转向 4 检测碰撞和游戏结束条件 5 分数和时间的显示 6 使用随机数生成器生成蛇和食物的位置 7 使用键盘事件监听器实现蛇的移动和转向 8 通过碰撞检测类实现碰撞和游戏结束条件
Java小游戏贪吃蛇课程设计报告
分数和时间显示不准确:解决方案:使用Java Timer类定期更新分数和时间,确保它 们与游戏进度同步
Java小游戏贪吃蛇课程设计报告
r
xxxxx
最终,我们成功实现了贪吃蛇游戏的基 本功能,包括创建游戏窗口、生成蛇和 食物、实现蛇的移动和转向、检测碰撞 和游戏结束条件以及分数和时间的显示
同时,我们还优化了游戏的性能和 用户体验,使其更加流畅和有趣
生成蛇和食物
Java小游戏贪吃蛇课程设计报告
Java小游戏贪吃蛇课程设计报告
检测碰撞和游 戏结束条件
Java小游戏贪吃蛇课程设计报告
贪吃蛇java课程设计
贪吃蛇java课程设计一、课程目标知识目标:1. 让学生掌握Java基本语法和编程逻辑,特别是面向对象编程思想。
2. 使学生理解二维数组在Java中的应用,学会使用二维数组构建游戏界面。
3. 帮助学生掌握事件处理机制,实现对游戏操作的反应。
技能目标:1. 培养学生运用Java语言编写简单游戏的能力,特别是贪吃蛇游戏的实现。
2. 让学生通过课程实践,掌握程序调试和错误处理的方法,提高解决问题的能力。
3. 培养学生团队协作能力,通过分组合作完成课程设计。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学习积极性。
2. 培养学生勇于尝试、不怕失败的精神,提高克服困难的信心。
3. 引导学生认识到编程在现实生活中的应用价值,提高社会责任感。
课程性质:本课程为实践性较强的课程设计,以项目为导向,注重培养学生的动手能力和团队协作能力。
学生特点:学生具备一定的Java基础,对编程有一定了解,但实践经验不足,需要通过课程设计提高实际操作能力。
教学要求:结合学生特点,课程目标应具体、可衡量,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的编程实践能力。
在教学过程中,将目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. Java基本语法和面向对象编程思想复习:回顾类和对象、继承、封装、多态等基本概念。
2. 二维数组及其应用:学习二维数组的定义、初始化和操作方法,结合贪吃蛇游戏界面设计进行讲解。
3. 事件处理机制:介绍事件监听器、事件对象、事件处理方法等,应用于贪吃蛇游戏操作。
4. 游戏设计原理:分析贪吃蛇游戏的规则、算法和数据结构,讲解如何实现游戏核心功能。
5. 编程实践:指导学生分组进行贪吃蛇游戏设计,从需求分析、设计、编码、调试到测试的全过程。
6. 教学大纲安排:- 第一周:Java基本语法和面向对象编程思想复习,介绍课程设计要求。
- 第二周:二维数组及其应用,设计贪吃蛇游戏界面。
java贪吃蛇报告
1、设计要求与任务1.1设计要求(1)学习android基础理论,熟悉Java和Android开发包,学习xml文件编写,熟悉Android手机系统设计中的有关资料,熟悉使用eclipse软件工具和ADT插件,了解MVC模式和设计模式。
(2)研究利用MVC模式进行贪吃蛇的设计,分析游戏的设计需求,根据设计需求选择应用程序的设计模式,学习Android UI设计,熟悉使用常用视图布局,熟悉使用事件监听模式。
(3)学习Android手机操作系统中2D画图方法,编写相应代码实现贪吃蛇游戏功能。
(4)对贪吃蛇游戏功能进行测试,并不断完善和改进。
1.2主要任务1、深入学习和理解Android系统原理,掌握Java编程方法;2、深入分析贪吃蛇运行流程,绘制程序流程图;3、了解Android服务的特点,学习开发Android服务程序;4、按照格式要求撰写设计报告。
2、设计正文2.1Android简介Android是Google于2007年11月05日宣布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。
底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。
不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android系统具有如下4个特点:一、开放性Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile 在内的30多家技术和无线应用的领军企业组成。
二、应用程序无界限Android 上的应用程序可以通过标准API 访问核心移动设备功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 食物的随机产生的方法食物的随机产生需要一个随机种子函数然后利用 系统时间做为随机种子。
6. 蛇的身体变长的方法当然要当蛇吃到食物时才能使身体变长。因此有两 个需要解决的问题:问题一:如何知道是否吃到食物?问题二:吃到食物后身体 变长?解决问题一的方法是需要一个判断语句,当蛇头即构成蛇的第一个方块跟 食物所在方块的坐标一样时判断吃到食物。解决问题二则要相对复杂一些,需要 多个判断语句构成。
是否结束
否
是
暂停
否
是否开始
是
是否碰到蛇身\墙
否 是否吃到食物
提示游戏结
是 蛇身加长,分数增加
结束
四、系统实现
【测试数据】 1. 游戏登陆测试,用户名:杨文,密码:123456. 2. 进入主界面。 3. 测试文件菜单;游戏开始,贪吃蛇窗墙则游戏结束;退出提示。 4. 测试设置菜单。 5. 测试窗口大小菜单。 6. 测试作者信息菜单。 7. 测试帮助菜单。
Location
属性: x
y
操作:Location(int x,int y) ,getX(),getY(),setX(int x),
setY(int y) ,equalOrRev(Location e),equals(Location e) ,
reverse(Location e)
2>.类之间的调用关系。
通过这次课程设计,我对java又有了更深刻的认识。也有了更深一步的喜爱, 决定一定要努力学好java,并能更好的应用于以后的工作中。
这次贪吃蛇的设计,我做的不是很完美,也没想象中的那么好,但也获得了 许多宝贵的经验:
1) 在设计程序之前,务必要对自己所要设计的题目和内容有一个系统的,大 概的了解,知道所设计的题目和内容包含哪些资源。
附件:
详细代码
1. Login 类 package SnakeGameDemo; import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Image; impoeFrame
SnakePanel 【用户界面】
1. 登陆界面
SnakeModel
LocationRO
Location
2. 游戏主界面
5
【程序技巧】 1. 为游戏设置权限,为游戏设置登陆界面。 2. 游戏界面采用图形界面美观大方易操作。 3. 功能齐全,可以选择开始,暂停,继续可以随时操控游戏状态,方便 易操作,人性化设计。 4. 设置菜单功能齐全,可以让界面显示网格和取消显示网格,还可以根 据自己的实际能力情况选择游戏的等级。 5. 窗口大小菜单可以根据自己的需要和爱好调整窗体的大小,可以选择 大中小三种窗体。适合不同的需要。 6. 本程序设置了作者信息菜单可以查询程序的制作人的信息等。 7. 对于新手用户,我为他们设置了操作指南菜单,帮助他们方便快捷的 学会游戏的操作步骤。
2
疯狂贪吃蛇
一、系统目标
运用 java 技术开发出贪吃蛇游戏,这个程序是用一个小矩形表示蛇的一节 身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,也就是蛇尾不 能改作蛇头。当游戏者按了方向键后,蛇头朝着指定的方向移动,一步移动一节 身体。图形的实现是从蛇头的新位置开始画出蛇。用户可以用上下左右键控制蛇 头的方向。非常简单!
操作:SnakePanel(SnakeFrame parent,int row,int col),newGame(long speed)
stopGame(),returnGame(),getGameScore(),updateTextFiled(String str)
updateColors(),run(),keyPressed(KeyEvent event)
15
import java.awt.Panel; import java.awt.TextField; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; //登陆界面 public class Login extends JFrame {
二、系统设计思路
1. 贪吃蛇是很经典的格子游戏。所谓格子游戏就是在设计游戏时的主要思 想是每个设对象都是由格子组成,游戏运行界面也是由格子组成。格子思想决定 了此类游戏在设计时的算法思想。
2. 方向键控制一个方块的移动的方法,一个方块的移动是靠移动其坐标位 置来实现的。
3. 方向键控制是上下左右对一个方块的控制,用四个判断语句实现。 4. 蛇的移动算法思想可以看成是第一个方块移动,第二个方块移到第一个 方块的位置, 第三个方块移动到第二个方块的位置⋯ ⋯ 第 N 个方块移动到第 N-1 个方块的位置。这样连续的移动就是蛇的移动了。方向控制键控制了第一个方块 的移动后,后面方块跟着移动 ,这样也实现了方向键控制对长蛇的移动。
【输出结果】 1.登陆测试
2.进入主界面
8
3.测试文件菜单 文件主界面
1>.菜单/开始
9
2>.贪吃蛇窗墙则游戏结束
3>.退出提示。文件/退出。
10
4.测试设置菜单.
5.测试窗口大小菜单。
11
6. 测试作者信息菜单。
12
7.测试帮助菜单。
13
五、系统设计总结
通过一学期的学习,我自己认为自己学java没学好,而在整个新技术专题中我觉 得贪吃蛇的游戏应该是最简单的。
SnakeModel 属性: rows,cols,snakeHead,runingDiriction,locRO,snake,playBlocks
snakeFood,gameScore,AddScore 操作: LocationRO getSnakeHead(),LocationRO getSnakeTail(),
可以实现如下功能: 1. 贪吃蛇游戏是大家很常见的小游戏,在生活工作之余大家可以玩它,已 达到放松各种压力的目的。 2. 游戏可以进行升级,也就是增加吃食物的难度,以便使大家更有挑战性, 不觉得太无趣。 3. 游戏界面大小可以任意指定,数据从文件读入。 4. 利用 swing 实现良好的 GUI 界面。
4
SnakePanel
属性:gridsPanel, row; col; gridsPanel;direction;snake; snakeBody;
otherBlocks;snakeHead; snakeFood; gameScore=0; speed;
AddScore; t;
isEnd; notExit;
两个登陆选项。
Login
属性: 用户名
密码
Go(进入游戏)
Cancel(取消)
操作: Enter()
Close()
2.SnakeFrame 类,创建游戏窗口主界面。采用图形界面设计,有窗体,菜单栏 和游戏操作界面。 3.SnakeModel 类,此类为蛇的初始化状态及模型,所有的游戏的开始都通过此 类初始化及对蛇的操作。
7. 游戏结束的方法,当蛇碰到边框时或者吃到自己时游戏结束。根据这个 思想可以用判断语句实现 。然后是游戏结束后的处理,比如显示继续玩游戏还是 退出游戏,并显示所吃到的食物的个数和时间等。
三、系统详细设计
【类的设计】
1>.创建的类的描述。
1. Login 类,登陆界面要求输入登陆者输入用户名和密码,分别设 Go 和 Cancel
14
2) 设计程序采用什么编程语言并不是非常重要,关键是要有一个清晰的思 路和一个完整的软件流程图,所有要先把设计原理与思路搞清楚,再把流程图画 出来,这样设计起来就简单多了。
3) 在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改 进”是程序设计的必经之路,发现错误也是取得成绩及成绩的一种必经之路。
Location getRuningDiriction(),LinkedList getSnake(), LinkedList getOthers(), getScore(),getAddScore(), setSnakeHead(Location snakeHead),LocationRO getSnakeFood(), setSnakeFood(),moveTo(Object a,LinkedList fromlist,LinkedList tolist), init(),SnakeModel(int rows1,int cols1),move(Location direction) 4. SnakePanel 类,此类为游戏界面创建蛇的面板和蛇的移动控制实现。
4) 要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而 应该让人一看就能明白自己的思路,这样也为资料的保存和交流提供了方便。
在以后的学习和工作中,我希望我能把这些经验应用起来。为以后的工作顺 利进行,也让自己获得一定的能力,能够拥有一份好的工作。
六、参考文献
[1] 魏伟译.JBuilder 开发人员指南[M].北京:机械工业出版社,2001.1. [2] 胡雷, 叶曙光, 徐饪.JBuilder 9.0 入门与提高[M].北京:机械工业出 版社,2004. [3] 田勇,孙新.Jbuilder 开发人员指南[M].北京: 机械工业出版社,2001. [4] 李尊朝,苏军.Java 语言程序设计(第二版)[M].北京:中国铁道出版社 2009. [5] 黄晓东.Java 课程设计案例精编(第二版)[M].北京:中国水利水电出版 社,2008. [6] 陆 光 义 , 宋 现 锋 .Java 游 戏 编 程 导 学 [M]. 北 京 : 清 华 大 学 出 版 社.2004.