武汉工程大学计算机科学与工程学院综合设计报告设计名称:系统软件综合设计设计题目:手机连连看游戏设计与实现学生学号:1005090222专业班级:2010级计算机科学与技术(计算机科学方向)02班学生姓名:杨星学生成绩:指导教师(职称):徐银霞(讲师)课题工作时间:2013.12.30 至2014.1.10成绩评定表学生姓名:杨星学号:1005090222 班级:计算机科学02班答辩记录表指导教师评语目录摘要 (II)Abstract (III)第一章课题背景 (1)1.1 课题背景 (1)1.2 设计要求 (1)第二章设计方案论述 (3)2.1 需求分析 (3)2.2 模块设计 (3)第三章详细设计 (5)3.1 开发环境 (5)3.2 算法描述 (5)3.3 类的设计 (7)第四章设计结果及分析 (9)4.1 游戏启动测试 (9)4.2 游戏过程测试 (9)4.3 游戏结束测试 (10)总结 (12)致谢 (13)参考文献 (14)附录主要程序代码 (15)摘要连连看是一款经典的休闲游戏,将相同的两个图案以三根以内的线连接起来即可消除,规则简单易上手,游戏节奏快,不失乐趣,适合广大人群。
这里设计的连连看游戏实现在windows phone 8手机平台上。
旨在熟悉其基本的开发模式,了解手机平台应用开发与PC平台的不同之处,感受移动平台独特的特性。
作为手机游戏,操作直观,随时随地可进行游戏,更加方便快捷。
游戏实现计时,提示,重新开始等基本功能。
游戏核心算法为计算两个相同图案之间的最短路径。
分图案相邻和不相邻情况。
对于相邻图案直接可消除,对于不相邻图案,通过特定算法求解,寻求最短路径。
失败则无法消除。
游戏基于.NET平台,以Visual Studio Express For Windows Phone工具开发,采用Silverlight框架,用C#程序设计语言设计。
经测试可运行在windows phone 8手机上。
关键词:连连看;手机游戏;windows phoneAbstractSnake is a classic casual game.The same two patterns which can be connected within three lines can be eliminated. The rules are simple and approachable and the game is fast-paced,funny, For the majority of the crowd.The game is designed on windows phone 8 mobile platforms. It’s designed to be familiar with the basic pattern of development on windows phone and understand deferecess between PC and moblie platform.Feel the unique characteristics of the mobile platform. As a moblie game, intuitive operation,faster and more convenient,it can be played anywhere.The game must has timing,tips, resumes, and other basic functions. The core algorithm is to calculate the shortest path between two identical patterns.It despites Adjacent and non-adjacent patterns. The adjacent patterns is directly eliminated,where a specific algorithm is needed to seek the shortest path for non-adjacent patterns.If failed,it means patterns are unable to be eliminated.The Game is based on .NET platform,Silverlight framwork and designed by Visual Studio Express For Windows Phone with C# programming language. After testing,the game can be run on windows phone 8 phone.Keywords:Snake;moblie game;windows phone第一章课题背景1.1课题背景游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。
“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。
并于2004年,取得了国家版权局的计算机软件著作权登记证书。
随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。
如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。
2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。
“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。
网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。
连连看游戏就是典型。
不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。
Windows Phone具有桌面定制、图标拖拽、滑动控制等一系列前卫的操作体验。
其主屏幕通过提供类似仪表盘的体验来显示新的电子邮件、短信、未接来电、日历约会等,让人们对重要信息保持时刻更新。
它还包括一个增强的触摸屏界面,更方便手指操作;以及一个最新版本的IE Mobile浏览器——该浏览器在一项由微软赞助的第三方调查研究中,和参与调研的其它浏览器和手机相比,可以执行指定任务的比例超过48%。
Windows Phone,力图打破人们与信息和应用之间的隔阂,提供适用于人们包括工作和娱乐在内完整生活的方方面面,最优秀的端到端体验。
随着手机用户的日益剧增,手机《连连看》已成为游戏爱好者,娱乐休闲的游戏之一,连连看游戏操作简单易玩,规则简单容易上手。
游戏速度节奏快,画面清晰可爱,适合细心的玩家。
丰富的道具和公共模式的加入,增强游戏的竞争性。
多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。
Windows Phone作为一款全新的系统,它新颖而独特,其开发模式也有较大不同,引入了许多新的概念。
在该平台上实现连连看小游戏是一项新的尝试,旨在了解其基本开发模式及框架,对该平台下的应用开发有初步的认知。
1.2 设计要求设计实现连连看游戏的基本功能,主要解决的问题有以下几个方面:游戏界面设计,游戏整体界面生动友好,整体视觉感受舒服。
游戏开始时,随机生成图案,要求相同图案个数为偶数个,初始必须存在至少一对可消除图案。
游戏过程中,判断用户选择的两个图案是否能够消除,如果能够消除则给出最短消除路径。
游戏具备提示功能,即用户可以寻求提示,程序给出可消除的一对图案。
游戏结束规则为计时结束,游戏失败或全部图案消除完成,游戏获胜。
游戏具备重新开始,暂停等基本功能。
第二章设计方案论述2.1 需求分析用户进入游戏时,默认开始一局新游戏。
程序会载入图案,通过特定算法排列生成图案列表。
该列表是合法的,即初始状态存在至少一对可消除图案,并且每种图案为偶数个。
同时游戏显示剩余待消除图案总数,游戏开始计时,计时条不断缩短。
游戏中用户点击一个图案时,图案呈现被选中状态。
等待用户选择第二个图案时,判断图案是否能够消除。
如果不能消除则取消选中,如果能够消除,则给出最短路径图示,然后消除图案。
用户可以通过底部的刷新按钮来重新开始一局游戏。
在游戏中如果遇到困难可点击底部的提示按钮,程序将提示一对可消除的图案。
同时游戏具备道具功能,点击底部的地雷按钮,可自动消除一对图案。
以上功能按钮都有3次使用次数限制。
用户可点击手机的Back键来主动结束并退出游戏。
游戏的胜负判定规则为,如果计时条计时完毕尚存在图案未消除,则游戏失败。
如果用户在计时结束前消除了全部图案,则游戏胜利。
2.2 模块设计根据对“连连看”游戏的分析,该游戏可分为三个模块:算法模块、界面显示模块、菜单控制模块。
如图2.1所示。
图2.1 游戏模块图算法模块主要实现两个算法:图案的产生设计和图片路径处理设计。
图案的产生设计采用随机数算法,按照偶数对图案规则来生成图案列表,然后寻找是否存在一对可消除的图案,如果不存在则称为“死锁”,即游戏一开始就无法进行下去,此时重新随机生成图案直到生成合法的图案列表。
然后呈现出来,开始计时,游戏开始。
图片路径处理设计分两种情况考虑。
用户选择的两个图案不同,则无法消除,取消选中。
当用户选择两个相同图案时,如果两个图案相邻,则直接消除;如果不相邻,则按广度优先算法寻找两个图案之间的最短路径。
如果成功,则显示最短路径并消除图案;如果失败则无法消除,取消选中。
菜单模块显示基本的游戏控制及道具辅助功能。
游戏控制菜单包括计数,计时功能。
计数器显示当前存在的待消除图案总个数,提醒用户剩余数量。
计时器采用倒数计时,以计时条的形式显示,随着时间计时条变短。
道具辅助功能包括三个按钮。
刷新按钮可重新开始一局游戏。
地雷按钮可自动消除一对可消除的图案。
提示按钮可提示一对可消除图案的路径。
界面显示模块表现整体界面布局。
计时条以及计数器在顶部显示,底部显示三个辅助道具按钮。
中间为游戏区域,规模为8x11大小的图案矩阵。
图案采用不同颜色的豆豆,较为直观可爱。
用户选中图案时,图案会呈现选中状态,消除过程中会显示虚线形式的消除路径。
游戏启动过程中,会显示开发者信息画面形成过渡。