Android贪吃蛇课程设计报告
《贪吃蛇游戏课程设计》报告资料整理

四、
(
函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用
#define N 200
#define M 200
#include"graphics.h"
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<iostream.h>
snake.life=0;//蛇活着
snake.direction=1;//方向往右
snake.x[0]=100;snake.y[0]=100;//舌头坐标
snake.x[1]=110;snake.y[1]=100 ;
snake.node=2;//蛇的节数
PrScore();//输出分数
while(1)//可重复玩游戏,按ESC键结束
#include<dos.h>
#include<conio.h>
#include <windows.h>
#define LEFT 97//A
#define RIGHT 100//D
#define DOWN 115//S
#define UP 119//W
#define Esc 0x011b
int i,key;
cleardevice();
}
(
主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为白色。
void DrawK()//开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙
Android贪吃蛇课程设计报告

XXXX学院计算机科学系《Android程序设计》课程设计报告题目:贪吃蛇专业:计算机科学与技术!班级: B11计科班学号: 0姓名:凌波微步Q Q :25指导教师:,2014年6月,目录第一章绪论 (2)游戏简介 (2)开发目的及意义 (3)开发环境及工具 (3)第二章需求分析 (4)游戏界面分析 (4)游戏角色分析 (4)—游戏控制分析 (4)第三章总体设计 (5)系统功能模块层次图 (5)运行机制 (6)贪吃蛇功能流程图 (7)第四章详细设计与实现 (9)SnakeActivity类 (9)MyTile类 (10):NextActivity类 (18)SysApplication类 (19)界面设计 (20)第五章测试 (26)功能测试 (26)测试结果 (27)第六章结论 (27)第一章绪论@游戏简介贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。
贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。
当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。
开发目的及意义通过本次课程设计,了解android软件的开发过程,熟悉并掌握JAVA语言,程序关键在于表示蛇的图形及蛇的移动。
用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。
移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。
意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。
开发环境及工具在Window8下进行,采用eclipse开发工具,基于安卓操作系统。
环境搭建:1. JDK安装[2. Eclipse安装3. Android SDK安装4. ADT安装创建AVD-第二章需求分析游戏界面分析操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。
贪吃蛇游戏课程设计

贪吃蛇游戏课程设计一、课程目标知识目标:1. 学生能理解贪吃蛇游戏的基本原理,掌握游戏设计中涉及的坐标、方向和移动等概念。
2. 学生能运用所学的编程知识,使用合适的数据结构和算法实现贪吃蛇游戏的主体功能。
3. 学生了解游戏设计中的用户界面设计原则,并能将其应用于贪吃蛇游戏的界面设计。
技能目标:1. 学生掌握运用编程语言进行游戏设计的基本技巧,提高编程实践能力。
2. 学生能够运用逻辑思维和问题分析能力,解决游戏设计过程中遇到的问题。
3. 学生通过团队协作,提高沟通能力和项目协作能力。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,增强学习信息技术的积极性。
2. 学生在游戏设计过程中,培养创新意识和审美观念,提高对美的追求。
3. 学生通过课程学习,认识到编程对生活的影响,激发将所学知识应用于实际生活的意识。
课程性质:本课程为信息技术学科选修课程,适用于有一定编程基础的学生。
学生特点:学生具备基本的计算机操作能力,对编程有一定了解,对游戏设计感兴趣。
教学要求:结合学生特点,注重实践操作,鼓励学生创新和团队协作,提高学生的编程能力和审美观念。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 游戏设计基本原理:介绍游戏设计的基本概念、流程和原则,结合贪吃蛇游戏案例分析游戏设计中的核心要素。
- 课本章节:第三章“游戏设计概述”- 内容:游戏设计流程、游戏类型、游戏设计原则2. 编程语言和工具:复习巩固编程基础,介绍贪吃蛇游戏所需的基本编程知识和工具。
- 课本章节:第二章“编程基础”- 内容:变量、数据类型、运算符、流程控制、函数、数组3. 数据结构和算法:分析贪吃蛇游戏中涉及的数据结构(如链表、数组)和算法(如坐标计算、碰撞检测)。
- 课本章节:第四章“数据结构与算法”- 内容:链表、数组、坐标计算、碰撞检测4. 游戏界面设计:介绍用户界面设计原则,指导学生设计贪吃蛇游戏的界面。
安卓贪吃蛇课程设计报告材料

滨江学院智能手机程序设计题目安卓智能手机贪吃蛇游戏设计院系滨江学院计算机系专业信息工程学生周盈伟学号指导教师高超二0 一四年六月一日目录第一章绪论 (3)1.1开发背景 (3)1.1.1安卓系统简介 (3)1.1.2游戏简介 (3)1.2开发目的及意义 (4)1.3开发环境及工具 (4)第二章需求分析 (5)2.1游戏界面分析 (5)2.2游戏角色分析 (5)2.3游戏控制分析 (5)2.4 可行性分析 (6)第三章总体设计 (7)3.1系统功能模块层次图 (7)3.2运行机制 (8)3.3贪吃蛇功能流程图 (10)第四章详细设计与实现 (12)4.1 TiltView类 (12)4.2 SnakeView类 (14)4.3 界面设计 (16)第五章测试 (20)5.1游戏功能测试 (20)5.2游戏控制测试 (20)5.3游戏界面测试 (20)5.4测试结果 (20)第六章结论 (21)第一章绪论1.1开发背景1.1.1安卓系统简介安卓系统作为新兴的手机操作系统,在问世不久,变风靡全球,占领手机操作系统里很大的市场份额,与苹果,诺基亚三分天下,Android是基于Linux开放性核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。
底层Linux核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
1.1.2游戏简介1976年,Gremlin平台推出了一款经典街机游戏Blockade。
游戏中,两名玩家分别控制一个角色在屏幕上移动,所经之处砌起围栏。
角色只能向左、右方向90度转弯,游戏目标保证让对方先撞上屏幕或围栏。
安卓贪吃蛇课程设计

安卓贪吃蛇课程设计一、课程目标知识目标:1. 学生理解并掌握安卓应用开发的基础知识,包括活动(Activity)、视图(View)和意图(Intent)的使用。
2. 学生掌握贪吃蛇游戏的逻辑和算法,包括蛇的移动、食物的生成和碰撞检测。
3. 学生了解如何在安卓应用中实现用户界面设计,使用布局(Layout)和控件(Control)。
技能目标:1. 学生能够独立创建安卓项目,并设置虚拟设备进行调试。
2. 学生能够编写代码实现贪吃蛇游戏的核心功能,包括蛇的自动移动、方向控制以及食物的随机生成。
3. 学生能够利用安卓开发工具进行问题调试,解决开发过程中遇到的问题。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究精神和创新意识。
2. 培养学生团队合作意识,学会在团队中发挥个人优势,共同解决问题。
3. 增强学生面对困难的勇气和毅力,培养良好的编程习惯和解决问题的方法。
分析课程性质、学生特点和教学要求:1. 课程性质:实践性、综合性、创新性。
2. 学生特点:具备一定的计算机操作能力,对编程有一定了解,对游戏开发有浓厚兴趣。
3. 教学要求:注重理论与实践相结合,关注学生个体差异,提供个性化的指导,确保学生能够将所学知识应用于实际项目中。
二、教学内容1. 安卓应用开发基础:- 活动的生命周期及状态管理- 视图和布局的使用,包括线性布局、相对布局等- 控件的使用,如按钮(Button)、文本框(TextView)等- 意图(Intent)的使用及数据传递2. 贪吃蛇游戏逻辑与算法:- 蛇的移动逻辑及方向控制- 食物的随机生成及碰撞检测- 游戏分数记录及结束条件3. 安卓界面设计与实现:- 游戏界面的布局设计- 蛇和食物的控件定制- 用户交互界面的实现,如按钮控制蛇的方向4. 教学大纲与进度安排:- 第一周:安卓应用开发基础学习,了解活动、视图、控件和意图的使用- 第二周:学习贪吃蛇游戏逻辑,编写移动算法和方向控制- 第三周:实现食物的生成和碰撞检测,设计游戏界面- 第四周:整合游戏功能,进行调试与优化教材章节关联:- 《Android基础教程》第3章:Android应用界面设计- 《Android基础教程》第4章:Android组件和事件处理- 《Android游戏开发实战》第2章:游戏开发基础及游戏循环- 《Android游戏开发实战》第5章:游戏界面绘制与用户交互教学内容确保科学性和系统性,结合教学大纲和教材章节,使学生能够逐步掌握安卓贪吃蛇游戏的开发技能。
贪吃蛇课程设计报告

本科课程设计贪吃蛇游戏设计摘要 (3)Abstract (3)一.详细设计 (4)1.属性解释 (4)2.初始化坐标: (4)3.调用线程 (4)4.具体功能实现: (5)4.1.移动功能的实现: (5)4.2.吃食物功能实现: (6)4.3.判断游戏是否结束的功能实现: (8)4.4.画图方法的实现 (9)4.5.监听键盘动作: (10)5.界面的设计: (11)5.1进入程序界面设计 (11)5.2第2个界面的设计: (12)5.3第3个界面设计: (12)6.把程序植入手机中 (13)二.字符设备驱动程序实现 (13)三.总结: (14)四.参考文献: (14)五.致谢 (15)摘要程序核心思想:运行程序首界面(进入游戏,退出游戏)进入游戏后选择难度(简单,普通,高难)根据不同的难度设置相应的属性。
进入游戏界面。
首先初始化蛇的坐标,食物的坐标,和障碍物的坐标。
然后获取当前屏幕的大小为将来的边界判断做准备。
然后创建并执行线程。
线程基本流程:判断是否是暂停阶段,如果没有暂停就执行:eatFood();move(direction); repaint();如果游戏结束了就重新游戏或者退出。
AbstractCore of the process: first running the program interface (into the game, withdraw from the game) into the game after the difficult choice of (simple, ordinary, highly difficult) depending on the difficulty of setting the corresponding attribute. Into the game interface. First initialize the coordinates of the snake, coordinates food, and the coordinates of obstructions. And access to the size of the current screen for the future of the border to prepare for judgement. And then create and execution threads. Thread the basic process: determine whether the stage is suspended, if not the moratorium on the implementation of: eatFood (); move (direction); repaint (); game to an end if the game or out on the re.一.详细设计1.属性解释用1个2维数组snake[200][2]存放蛇身坐标,第2维是0的时候代表横坐标,为1的时候为纵坐标。
贪吃蛇安卓课程设计

贪吃蛇安卓课程设计一、课程目标知识目标:1. 学生能理解贪吃蛇游戏的原理和基本规则。
2. 学生能掌握安卓开发环境的基本操作和界面设计。
3. 学生能了解和运用Java编程语言实现贪吃蛇游戏的功能。
技能目标:1. 学生能运用安卓开发工具,独立设计和开发一款简易的贪吃蛇游戏。
2. 学生能通过调试和优化,提高贪吃蛇游戏的性能和用户体验。
3. 学生能运用所学的编程知识,解决开发过程中遇到的问题。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们的创新精神和探究欲望。
2. 培养学生的团队协作能力,学会在项目中分工合作、共同解决问题。
3. 培养学生面对挑战时的积极态度,提高他们克服困难的信心和决心。
本课程针对初中年级学生,结合他们好奇心强、动手能力强、善于合作等特点,设计具有挑战性和趣味性的贪吃蛇游戏开发课程。
课程旨在让学生在掌握编程知识的同时,提高实践能力和创新能力,培养他们良好的团队合作精神。
通过本课程的学习,学生能够将所学的编程知识运用到实际项目中,从而提升他们的综合素质。
二、教学内容1. 安卓开发环境搭建:介绍Android Studio的安装与配置,熟悉开发工具的使用。
- 章节关联:课本第二章《Android开发环境搭建》2. 简单的界面设计:学习并应用XML布局文件,设计贪吃蛇游戏的界面。
- 章节关联:课本第三章《Android界面设计基础》3. Java编程基础:回顾和巩固Java基本语法,为游戏编程打下基础。
- 章节关联:课本第四章《Java编程基础》4. 贪吃蛇游戏逻辑实现:学习游戏循环、碰撞检测、分数统计等核心功能。
- 章节关联:课本第五章《Android事件处理》与第六章《Android动画与游戏开发》5. 游戏调试与优化:介绍日志输出、性能分析及优化方法,提高游戏体验。
- 章节关联:课本第七章《Android性能优化》6. 项目实践:分组进行项目实践,将所学知识综合运用到贪吃蛇游戏的开发中。
Android贪吃蛇课程设计分析报告

姓名指导教师2015年12月20日湖南工程学院课程设计任务书课程名称计算机系统综合实训任务完成日期2016年1月11日任务书一、实训的内容1.贪吃蛇游戏开发(1)设计内容:在手机屏幕上设计一个贪吃蛇游戏,屏幕四周被绿色苹果包围,中间有贪吃蛇和随机产生的苹果,贪吃蛇的头是黄色的,身子是红色的。
玩家按上、下、左、右键盘控制贪吃蛇在屏幕上向上、注意,不能改变为当前方向的相反方向,例如当前方向是向下时,按向上的方向键是无效的。
(2) 设计要求:按任务书的设计要求进行撰写。
其中游戏核心数据结构设计要求为:主要是界面控制信息和逻辑控制信息, 界面控制信息主要包含两个部分:贪吃蛇的位置信息,存储贪吃蛇的具体位置,另外一个就是闪烁的食物的位置。
而逻辑控制信息主要包含三个部分:贪吃蛇的移动方向、闪烁控制以及程序暂停控制。
碰撞和处理,包括贪吃蛇和食物的碰撞和处理,贪吃蛇和四周的碰撞和处理,贪吃蛇的头和身的碰撞和处理,二、综合实训时间安排具体时间及要求安排如下:5、总结;6、附件(所有程序的源代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)附:课程实训报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
目录一、课程实训目的及要求 01.1、课程实训目的 01.2、课程实训要求 0二、设计思路 (1)2.1、需求分析 (1) (1) (1)一、课程实训目的及要求1.1、课程实训目的计算机系统综合实训能培养学生独立进行资料收集,综合运用所学的多门课程知识,培养分析问题和解决问题能力。
验证和巩固充实所学理论知识,加深对相关内容的理解,能运用所学知识为社会服务,在实训中学习和锻炼,增长才干。
本次实训采用项目制,要求学生进一步理解和掌握软件工程的方法和技术,培养操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A n d r o i d贪吃蛇课程设计报告Prepared on 24 November 2020综合实践报告课程名称计算机系统综合实训课题名称贪吃蛇游戏开发专业计算机科学与技术班级学号姓名指导教师2015年 12月 20日湖南工程学院课程设计任务书课程名称计算机系统综合实训课题贪吃蛇游戏开发专业班级计算机1202学生姓名学号指导老师审批任务书下达日期 2015 年 12月 20 日任务完成日期 2016年 1月 11日任务书一、实训的内容1.贪吃蛇游戏开发(1)设计内容:在手机屏幕上设计一个贪吃蛇游戏,屏幕四周被绿色苹果包围,中间有贪吃蛇和随机产生的苹果,贪吃蛇的头是黄色的,身子是红色的。
玩家按上、下、左、右键盘控制贪吃蛇在屏幕上向上、下、左、右移动,贪吃蛇只能向左、右方向90度转弯,当吃到一个苹果贪吃蛇就长一节,分数加一分,同时屏幕上又随机产生的一个黄色苹果,一旦碰到墙壁或自己的尾巴就失败。
提示游戏得到的分数。
贪吃蛇游戏规则:游戏初始化:在本游戏中,采用如下的策略进行初始化:将贪吃蛇基本初始化在屏幕的中央,初始移动方向和贪吃蛇节点的排列顺序一致,食物的坐标固定位置。
贪吃蛇的移动:除第一个节点以外,其它每个节点跟随前一个节点移动贪吃蛇方向控制:贪吃蛇方向控制需要根据玩家的按键改变贪吃蛇的方向变量,在改变时需要注意,不能改变为当前方向的相反方向,例如当前方向是向下时,按向上的方向键是无效的。
(2) 设计要求:按任务书的设计要求进行撰写。
其中游戏核心数据结构设计要求为:主要是界面控制信息和逻辑控制信息, 界面控制信息主要包含两个部分:贪吃蛇的位置信息,存储贪吃蛇的具体位置,另外一个就是闪烁的食物的位置。
而逻辑控制信息主要包含三个部分:贪吃蛇的移动方向、闪烁控制以及程序暂停控制。
碰撞和处理,包括贪吃蛇和食物的碰撞和处理,贪吃蛇和四周的碰撞和处理,贪吃蛇的头和身的碰撞和处理,二、综合实训时间安排具体时间及要求安排如下:综合实训时间为17~18周,包括上机与查资料。
17周安排(12月28日开始)第18周星期一至星期三上午风华科技老师来校讲课星期三下午去九华参观星期四至星期五,卓京来校讲课三、综合实训报告撰写要求正文的内容:1、课程实训目的及要求;2、设计思路(需求分析、功能介绍、模块划分);3、主要功能的实现(至少要有一个主要模块的流程图);4、程序调试;5、总结;6、附件(所有程序的源代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)附:课程实训报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
目录一、课程实训目的及要求、课程实训目的计算机系统综合实训能培养学生独立进行资料收集,综合运用所学的多门课程知识,培养分析问题和解决问题能力。
验证和巩固充实所学理论知识,加深对相关内容的理解,能运用所学知识为社会服务,在实训中学习和锻炼,增长才干。
本次实训采用项目制,要求学生进一步理解和掌握软件工程的方法和技术,培养合作意识、团队精神和技术文档的编写能力。
为了让同学们更好地了解3G的目前应用情况,我们将邀请风华科技和卓京老师进行五天实训培训。
、课程实训要求实训要求采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1.每个项目小组人数在4~9人,项目小组成员自行组织。
2.项目小组按开发计划书的任务进行实训。
3.根据进度安排着实开展实训活动,按时完成每部分工作。
4.每个项目小组必须按照计划书的要求提交文档。
6.综合实训集中在510#和512#机房进行。
二、设计思路、需求分析操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。
设置游戏贪吃蛇初始时由固定小矩形块组成,在游戏中,要随机出现由单个矩形块构成的食物,并且设置随机出现的食物不要出现在蛇的身体中,在蛇吃到食物的时候,蛇的身体加长。
此外,要判定游戏成功与失败的条件,当蛇的头和尾相撞或者蛇的头部撞到了墙上,则游戏失败,此时游戏结束,界面显示所得分数。
另外蛇的移动原理,由外部按键设置监听控制蛇头的移动方向,在方向的指引下进行移动,蛇及食物的位置都是由坐标数组确定的,食物的位置也是随机产生的蛇的移动原理是后一矩形块覆盖前一个矩形块。
当一个食物被吃掉的时候,要自动随机生成并显示下一个食物的位置。
这些都是在设计过程中需要实现的。
游戏中需要通过按键对蛇的移动方位进行控制,共需要设置四个方位,分别是“东”“西”“南”“北”,在按键上用“上”“下”“左”“右”,按键与执行部分涉及到监听,通过监听指示蛇的运动,此外,要设置蛇移动是的默认方向为“右”,蛇的移动只能是90度偏转,不能进行180度偏转。
此外还要设置游戏的状态,有运行和结束两种状态,蛇体变长的时候用静态变量进行加分。
贪吃蛇游戏是一种简单的大众的游戏,自从进入现代化以来,深受广大电脑和手机玩家的喜爱,所以做一个简单的贪吃蛇小游戏是有用的。
本次设计我主要运用Java语言来完成。
Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。
由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。
如果没有安全保证,用户从网络下载程序执行就非常危险。
Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。
、功能介绍贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。
贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。
当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。
用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。
移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。
意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。
、模块划分工程中包括4个类,分别为SnakeActivity(主界面)、MyTile(游戏界面)NextActivity(游戏结束界面)和SysApplication类,通过不同Activity之间的转换实现不同界面之间的切换。
SnakeActivity和NextActivity继承了Activity 类,MyTile类继承了View类,SysApplication类继承了Application类。
SnakeActivity类是这个游戏的入口点, MyTile类进行游戏的绘画和对游戏控制操作的处理。
Coordinate, MyHandler是 2个辅助类,是MyTile类中的内部类。
其中, Coordinate是一个点的坐标( x,y), MyHandler将 MyHandler对象图:系统功能模块层次图任何游戏都需要有个引擎来推动游戏的运行,在贪吃蛇这个游戏中,辅助类 MyHandler继承自 Handler,用来把 MyHandler与当前线程进行绑定,从而可以直接给线程发送消息并处理消息。
注意一点: Handle对消息的处理都是异步。
MyHandler在 Handler的基础上增加 sleep()接口,用来每隔一个时间段后给当前线程发送一个消息。
handleMessage()方法在接受消息后,根据当前的游戏状态重绘界面。
update()与 sleep()间接的相互调用就构成了一个循环。
由于sleep()是个异步函数,所以 update()与 sleep()之间的相互调用才没有构成死循图:运行机制三、主要功能的实现、功能流程图图:功能流程图四、程序调试、功能测试经过在模拟器上的测试,本软件能实现其功能,达到了小蛇在屏幕上的移动,小蛇吃食物,食物随机出现的功能,当小蛇头尾相撞或与墙相撞时,游戏结束.这些均在测试中得到验证。
图:运行时截图、测试结果通过对游戏软件的功能测试,控制测试和界面测试。
对游戏的开始新游戏、退出和统计分数功能进行测试,并测试程序的键盘点击事件,结论是该游戏软件能正确实现功能要求。
要求输出的效果与预期的输出效果完全一致。
五、总结本次Java课程设计我们这组做的课题是设计贪吃蛇游戏,刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将Java的思想运用到实际系统的详细设计之中。
实验过程中,首先要将系统要实现的功能分为几大模块,然后每个组员分别完成,在此过程中使我加深了对Java的理解,以及如何进行团队工作的划分,学会发现各组员的长处并将其发挥出来。
虽然大家没怎么学过Java,但大家都有C语言基础,所以通过努力实验,进一步培养我们利用Java语言进行编程和调试程序的能力,同时使我们能够学会将C语言与Java语言结合起来编写较复杂具有实际意义和算法复杂度较小的程序。
与此同时熟练掌握Java语言的编辑,编译,调试程序,并将算法转变为程序实现。
正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现。
掌握算法的时间分析和空间分析的技术。
针对问题的特点选择合适的数据结构,设计实用高效的算法,提高大家的算法设计的能力和动手实验的技能。
六、附件、源代码SnakeActivity类:程序的入口,程序的界面。
代码如下:packageimportimportpublic class SnakeActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {(savedInstanceState);setContentView ().addActivity(this);}}MyTile类:MyTile的基类是View,包含了贪吃蛇游戏画面的各个设定参数,主要负责绘制游戏画面。
还定义了游戏运行时的画面改变及蛇体和食物的更新方法。
MyTile类定义如下:packageimportimportimportimportimportimportimportimportimportimportimportimportimportimportimport@SuppressLint("DrawAllocation")public class MyTile extends View {private int size = 12; etResources();rintln("loadPic(int key, Drawable drawable) ");Bitmap bitmap = Bitmap.createBitmap(size, size, 图片大小Canvas canvas = new Canvas(bitmap);quals(newCoor)) {collision = true;ddActivity(this);}class JiXuButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {xit();}}}SysApplication类:退出游戏时,推出整个应用程序。