连连看小游戏设计说明文档

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

连连看小游戏设计说明文档

1.引言

1.1编写目的:

本文围绕Java编程语言在网络编程方面的具体应用,论述了连连看的整体开发,对连连看小游戏程序进行需求分析、概要设计、详细设计,最后Java编程实现的全过程。

1.2项目背景:

项目名称:

基于Android平台的连连看游戏。

小组成员:

组长:王玉

组员:董文静、李冬、李明、廉瑞婕、刘宇

2.软件概述

2.1目标:

本项目力争成为能让玩家喜欢的一个放松休闲的小游戏,在使用过程中流畅没有错误,并具有一定的娱乐性。

2.2功能:

本软件为游戏软件,纯做娱乐,该游戏属于敏捷类游戏,考验游戏玩家的反应速度以及观察能力,手眼协调一致的能力。

2.3游戏规则:

游戏规则是需选择一对相同的牌连线,但此连线是在避开其他牌子后,呈现的路径以不超过二转弯为主,如符合规定则消除此一对牌。当有一家消除所有牌或有一家认输,游戏结束。

2.4设计结构介绍:

本程序分为主控区,上、下两个分面板,玩家名称文本区域,玩家记分系统。辅助功能有背景音乐,还有背景图片的添加。

1.主控区是核心部分,是含有图片的连连看主程序。

2.上面板记录着鼓励信息,以及玩家游戏过程中产生的分数。

3.下面板含有三个按钮,退出,重列,再来一次。

(a)退出按钮实现退出游戏功能

(b)重列会将图片重列

(c)再来一局按钮将实现重新进行游戏的功能

4.菜单栏里有音效和帮助按钮。

(d)音效按钮可以实现按钮的关停

(e)帮助按钮可以提供帮助信息

2.5运行环境:

安装Android2.2操作系统的手机均可。

3.目录

3.1设计内容:

使用eclipse软件编写连连看小游戏。

3.2设计过程:

3.2.1设计准备:

在设计前构想,做准备,所需物品:1、图片2、音乐。

3.2.2概要设计:

建立Java工程、包、类,进行网上搜索的源程序进行测试及其修改,成为自己想得到的程序,并且定义名字。

改写的连连看算法如下:

前置条件:用一二维数组存放Map,-1表示没有图案可以连通,非-1表示不同的图案。

首先是横向检测:

Java代码:

1.private Boolean horizon(Point a,Point b)

2.{

3.if(a.x==b.x&&a.y==b.y)//如果点击的是同一个图案,直接返

回false

4.return false;

5.int x_start=a.y<=b.y?a.y:b.y;

6.int x_end=a.y<=b.y?b.y:a.y;

7.for(int x=x_start+1;x

接返回false

8.if(map[a.x][x]!=-1)

9.{

10.return false;

11.}

12.return true;

13.}

其次是纵向检测:

Java代码:

1.private Boolean vertical(Point a,Point b)

2.{

3.if(a.x==b.x&&a.y==b.y)

4.return false;

5.int y_start=a.x<=b.x?a.x:b.x;

6.int y_end=a.x<=b.x?b.x:a.x;

7.for(int y=y_start+1;y

8.if(map[y][a.y]!=-1)

9.return false;

10.return true;

11.}

一个拐角的检测:

如果一个拐角能连通的话,则必须存在C、D两点。其中C点的横坐标和A相同,纵坐标与B相同,D的横坐标与B相同,纵坐标与A相同。

1.private boolean oneCorner(Point a,Point b)

2.{

3.Point c=new Point(a.x,b.y);

4.Point d=new Point(b.x,a.y);

5.if(map[c.x][c.y]==-1)

6.{

7.boolean method1=horizon(a,c)&&vertical(b,c);

8.return method1;

9.}

10.if(map[d.x][d.y]==-1)

11.{

12.boolean method2=vertical(a,d)&&horizon(b,d);

13.}

14.else

15.{

16.return false;

17.}

18.}

两个拐角的检测:

这个比较复杂,如果两个拐角能连通的话,则必须存在图中所示的连线,这些连线夹在A、B的横、纵坐标之间,这样的线就以下这个类存储,direct是线的方向,用0、1表示不同的方向。

LIne类结构如下:

1.class Line

2.{

3.public Point a;

4.public Point b;

5.public int direct;

6.

7.public Line()

8.{

9.}

10.

11.public Line(int direct,Point a,Point b)

12.{

13.this.direct=direct;

14.this.a=a;

15.this.b=b;

16.}

17.}

从A、B点的横纵两个方向进行扫描,就是Scan函数做的事情,把合适的线用LinkList存起来。

Java代码:

1.private LinkedList scan(Point a,Point b)

2.{

3.ll=new LinkedList();

4.//Point c=new Point(a.x,b.y);

5.//Point d=new Point(b.x,a.y);

相关文档
最新文档