# 2022期末项目-连连看 **Repository Path**: tqw4321/game_project ## Basic Information - **Project Name**: 2022期末项目-连连看 - **Description**: 2022期末软件项目-连连看小游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-08-23 - **Last Updated**: 2024-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目立项报告 项目名称:_______________连连看___________________ 立项时间:_________2022年11月25日____________ 组长:___________________李志超___________________ 团队成员:_________付云祥,武纪伟,郑伟________ 目录------- 一、 项目管理相关 1. 项目管理平台 2. 软件开发模型 3. 项目管理工具 二、 软件开发相关 1. 软件介绍 2. 功能点描述 3. 软件设计与实现 三、 小组任务分工 一、 项目管理相关 1. 项目管理平台 采用Gitee作为版本管理平台,Git作为项目版本管理工具 2. 软件开发模型 采用敏捷开发模型。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但 是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。 敏捷方法有 时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强 调适应性而非预见性。 适应性的方法集中在快速适应现实的变化。当项目的需 求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化。 3. 项目管理工具 采用UPGantt在线平台进行软件开发项目管理 利用在线甘特图工具指定团队的项目计划与分工。本在线工具使用方便,简洁,条目清晰,有利于进行本次项目的开发管理。 二、 软件开发相关 1. 软件介绍 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外,还很便捷,很多游戏不乏经典。连连看游戏就是典型。 不管走到哪里,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 本游戏的基本规则如下: ①玩家可以将2个相同图案的对子连接起来,连接线不多于 3根直线,就可以成功将对子消除。 ②胜利条件:将棋盘上面的对子全部消除掉。按消除的数量排列名次。其他玩家都输掉了。 ③失败条件:每个玩家选择牌的时间为30秒,超过时间而未消除一对的玩家以判为输掉。有一个玩家将所有的牌都全部消掉。 2. 功能点描述 2.1基本功能: ①图形界面; ②背景音乐; ③随机生成游戏; ④得分统计:消除成功,奖励分数; ⑤限次提示:陷入困境时,按提示按钮可以显示当前可消除的一对图片,每一局 有使用次数限制; ⑥奖励时间:成功消除 n 对图片后,对应就会增加一定的奖励时间; ⑦手动重置:将剩下图片重置游戏,如果重置前有解则需要扣减一定分数; ⑧游戏控制:开始、结束等 ⑨记录保存和查看 2.2拓展功能: ①自动解题,动画演示解题过程; ②僵局自动判定和自动重置; ③难度分级,如:入门级(直连比例高)、初级(拐一个弯比例高)、中级(拐 2 个弯比例高)、高级,且能保证有解,并能给出提示; 3. 软件设计与实现 3.1采用C++语言 本项目采用 C++作为项目的开发语言。 C++是 C 语言的继承,它既可以进行 C 语言的过程化程序设计,又可以进行 以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特 点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于 过程的程序设计,因而 C++就适应的问题规模而论,大小由之。C++不仅拥有计 算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序 设计语言的问题描述能力。 C++的优势: ⚫ 语言简洁、紧凑,使用方便、灵活;拥有丰富的运算符; ⚫ 生成的目标代码质量高,程序执行效率高,可移植性好; ⚫ C++程序在可重用性、可扩充性、可维护性和可靠性等方面都较 高,使其适合开发大中型的系统软件和应用程序; ⚫ 支持面向对象编程机制,如信息隐藏、封装函数、抽象数据类型、 继承、多态、函数重载、运算符重载、泛型编程(模板),团队开发 更简单。 3.2 使用Qt作为IDE进行项目开发 本项目采用 Qt 作为 GUI 项目图形界面开发框架。 Qt 是一个跨平台的 C++图形用户界面应用程序框架。它为应用程序开发者 提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩 展,并且允许真正的组件编程。 自从 1996 年早些时候,Qt 进入商业领域,它已经成为全世界范围内数千种 成功的应用程序基础。Qt 也是流行的 Linux 桌面环境 KDE 的基础,KDE 是所有 主要的 Linux 发行版的一个标准组件。Qt 的特点有:可移植性、易用性、执行 速度快等特点。 3.3 使用MySQL数据库 本项目计划使用MySQL数据库进行用户信息与游戏数据的存储与查看任务。 三、 小组任务分工 本次程序项目的初步分工如下: 李志超——软件需求分析,开题答辩(25%) 付云祥——连连看游戏实现相关(25%) 武纪伟——拓展功能相关(25%) 郑伟——软件设计与实现(25%)