java贪吃蛇课程设计

合集下载

JAVA设计贪吃蛇游戏

JAVA设计贪吃蛇游戏

JAVA设计贪吃蛇游戏1.课程设计目的《JA VA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA VA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

2.设计方案论证2.1设计思路功能要求:1)有一条蛇,在屏幕上爬,用上下左右键控制吃豆子,吃得多了,到了一定积分,就能过关。

越吃越长,不能碰墙,不能咬自己的尾巴!2)需要设计的类有场地、蛇、豆类等。

2.2开发环境2.2.1硬件环境机房计算机一台2.2.2软件环境操作系统:Windows XP开发软件:ECLIPSE2.3概要设计2.3.1自定义类说明类名:snakegame作用:用来处理当蛇撞到墙或自己的身体时程序的运行继承的父类:jframe类实现的接口: keylistener2.4详细设计2.4.1程序概述本程序是一个利用Java应用软件制作的贪食蛇小游戏。

在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。

2.4.2程序流程图本次游戏设计的处理流程如图1所示。

进入游戏画面键盘操作:左移右移向下向上没有吃到食物且蛇碰到边界单击“确定”游戏结束图1 游戏处理流程图2.4.3 总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。

3.设计结果与分析本程序在运行后,能够正常的相应按键事件。

游戏重新开始。

运行结果如下图4所示:贪吃蛇游戏游戏主界面模块游戏控制模块图2 游戏总设计模块图4 程序运行图当蛇没有吃到食物且碰到边界或碰撞到自己的身体时,游戏结束,此时得分为0。

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. 角色对象设计:定义蛇和食物类,实现移动、增长和绘制。

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)。

1设计目的1.1背景近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。

JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。

“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。

本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。

整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。

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

本文在介绍Java相关技术和国外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。

首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。

其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。

然后,进行了游戏的概要设计和详细设计,这也是本文的重点。

概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。

为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。

1.2目标本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。

2 总体设计2.1 设计思路本系统主要是完成贪吃蛇游戏的基本操作。

用户可以自己练习和娱乐。

本系统需要满足以下几点要求:(1) 利用方向键来改变蛇的运行方向。

(2) 空格键暂停或继续游戏,并在随机的地方产生食物。

(3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。

2.2设计说明本系统共包括1个java源文件和7个类文件。

1.类之间的关系如图2.1所示。

图2.1类之间的关系2.java源文件及其功能如表所示。

表2.2java源文件及其功能3关键技术3.1 关键技术及实现程序关键在于表示蛇的图形及蛇的移动。

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

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

食物的出现与消失也是画矩形块和覆盖矩形块。

3.2 设计原理1.主类SnakeGame主类为此程序的入口,定义了SnakeFrame的对象frame,开始运行此程序。

2.类SnakeFrame(1)成员变量见表3.1表3.1主要成员变量(2)方法见表3.2表3.2主要方法3.类Snake(1)成员变量见表3.3(2)方法见表3.44.类Node(1)成员变量见表3.55.类SnakePanel此类为画蛇的面板类,是实现红蓝间隔画蛇身算法的类。

6.类StatusRunnable此类为线程的子类,实现记录状态的功能。

7.类SnakeRunnable此类为线程的子类,实现蛇运动以及记录分数的功能。

4 程序流程4.1系统结构图如图4.1所示图4.1系统结构图5主要源代码1.记录状态的代码classStatusRunnable implements Runnable {publicStatusRunnable(Snake snake, JLabelstatusLabel, JLabelscoreLabel) { this.statusLabel = statusLabel;this.scoreLabel = scoreLabel;this.snake = snake;}public void run() {String sta = "";String spe = "";while (true) {switch (snake.status) {caseSnake.RUNNING:sta = "Running";break;caseSnake.PAUSED:sta = "Paused";break;caseSnake.GAMEOVER:sta = "GameOver";break;}statusLabel.setText(sta);scoreLabel.setText("" + snake.score);try {Thread.sleep(100);} catch (Exception e) {}}}privateJLabelscoreLabel;privateJLabelstatusLabel;private Snake snake;2.蛇运动以及记录分数的代码classSnakeRunnable implements Runnable { publicSnakeRunnable(Snake snake, Component component) { this.snake = snake;ponent = component;}public void run() {while (true) {try {snake.move();component.repaint();Thread.sleep(snake.speed);} catch (Exception e) {}}}private Snake snake;private Component component;}class Snake {booleanisRun;ArrayList<Node> body;Node food;intderection;int score;int status;int speed;public static final int SLOW = 500; public static final int MID = 300; public static final int FAST = 100; public static final int RUNNING = 1; public static final int PAUSED = 2; public static final int GAMEOVER = 3; public static final int LEFT = 1; public static final int UP = 2; public static final int RIGHT = 3; public static final int DOWN = 4;public Snake() {speed = Snake.SLOW;score = 0;isRun = false;status = Snake.PAUSED;derection = Snake.RIGHT;body = new ArrayList<Node>();body.add(new Node(60, 20));body.add(new Node(40, 20));body.add(new Node(20, 20));makeFood();}}3.在随机的地方产生食物的代码public void makeFood() {Node node = new Node(0, 0); booleanisInBody = true;int x = 0, y = 0;int X = 0, Y = 0;inti = 0;while (isInBody) {x = (int) (Math.random() * 15); y = (int) (Math.random() * 20); X = x * Node.W;Y = y * Node.H;for (i = 0; i<body.size(); i++) {if (X == body.get(i).x && Y == body.get(i).y)break;}if (i<body.size())isInBody = true;elseisInBody = false;}food = new Node(X, Y);}4.改变运行方向的代码public void changeDerection(intnewDer) {if (derection % 2 != newDer % 2)derection = newDer;}public void move() {if (isEaten()) {body.add(0, food);score += 10;makeFood();} else if (isCollsion()){isRun = false;status = Snake.GAMEOVER;} else if (isRun) {Node node = body.get(0); int X = node.x;int Y = node.y;switch (derection) {case 1:X -= Node.W; break;case 2:Y -= Node.H; break;case 3:X += Node.W; break;case 4:Y += Node.H; break;}body.add(0, new Node(X, Y));body.remove(body.size() - 1);}}}6 运行结果6.1各功能界面截图1.贪吃蛇游戏的基本运行界面(1)生成初始界面:图6.1 初始界面(2)游戏菜单栏:图6.2 游戏菜单栏(3)速度菜单栏:图6.3 速度菜单栏2.程序开始运行界面(1)鼠标点击New Game按钮,开始游戏(红色方块为食物,蓝黄相间为初始的蛇体):图6.4游戏初始界面(2)按空格键,游戏开始运行,蛇开始移动,并且吃到一次食物即红色方块后就变成蛇体:图6.5游戏开始运行界面(3)按方向键改变蛇的运行方向,并且碰壁后从新开始游戏,红色方块随机地方产生:图6.6 游戏运行界面6.2 心得体会虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。

相关文档
最新文档