实习(实训)时间 |
2024.12.23-2025.01.03 |
|||||||||||||||||||
实习(实训)地点 |
计算机基础实验室(北理工A101) |
|||||||||||||||||||
实习(实训)目的 程序设计项目实训是软件工程专业的一门专业综合实践课程,是学生在学完面向对象程序设计课程之后重要的实践教学环节,要求学生重点掌握对象、继承、接口、多线程、泛型与集合框架、I/O流、GUI、JDBC等知识和编程技术的综合应用。 本环节的主要任务是通过实践操作,使学生逐步提高面向对象程序设计能力,达到如下目标: 1.进一步理解面向对象的编程思想,通过需求分析、编写代码、测试程序等一系列过程,掌握Java的基本原理、设计方法和使用规则,掌握Java SE核心内容。 2.能够对于给定问题进行基本的分析,初步具备面向对象设计和编程的能力,能够利用面向对象的程序设计方法初步解决一些简单的问题。 3.借助Eclipse、IDEA提供的强有力的编辑、构建和调试功能,提高项目开发的速度和能力,提高调试程序及排查错误的能力。 4.培养良好的编程习惯、较强的自主学习能力和思维逻辑;能够查阅资料解决问题,养成自主、独立解决问题的习惯,从而形成严谨细致的思维习惯和工作方法。 5.具备良好的应用报告撰写能力、语言组织表达能力,将设计过程阐述准确,表达清晰。 |
||||||||||||||||||||
实习(实训)日志 |
||||||||||||||||||||
日期:2024.12.23 实习(实训)内容:项目的需求分析(一)
“羊了个羊” 游戏以其简单而富有挑战性的玩法吸引了众多玩家。本需求分析旨在明确该游戏的各项功能、性能、界面及其他相关要求,为项目的设计、开发和测试提供详细依据,确保最终产品能够满足玩家的期望,提供流畅、有趣的游戏体验。 2.功能模块划分 系统主要包括用户登录模块、游戏主界面模块、卡牌操作模块和游戏结束判断模块等,这些模块相互协作、相辅相成,共同构建起游戏的完整功能体系。各模块功能说明如下: (1)用户登录模块:负责验证用户的身份信息,确保只有合法用户能够进入游戏。提供用户名和密码输入框,以及登录按钮,对输入的信息进行验证。 (2)游戏主界面模块:作为游戏的核心展示区域,集成了背景、卡牌、槽位、得分、计时器和用户信息等元素,负责呈现游戏的整体画面和状态信息。 (3)卡牌操作模块:处理玩家对卡牌的各种操作,如点击选择、移动到槽位、判断卡牌是否可消除等,实现卡牌的交互逻辑。 (4)游戏结束判断模块:实时监测游戏状态,根据槽位是否已满或是否满足胜利条件来判断游戏是否结束,并触发相应的结果展示。 (5)游戏结果展示模块:在游戏结束时,显示玩家的得分、所用时间等信息,提供反馈和总结。 这些功能模块之间通过精心设计的数据传递和方法调用机制,紧密协作、协同工作,共同实现了 “羊了个羊” 游戏的丰富功能和流畅体验。每个模块各司其职,又相互配合,形成了一个有机的整体,确保游戏从登录到游戏进行再到结束的整个过程中,各个环节都能准确无误地运行,为玩家提供稳定、有趣的游戏环境,具体如图1所示。
日期:2024.12.24 实习(实训)内容:项目的需求分析(二) 1.业务流程分析 用户启动游戏后,首先进入登录界面,输入用户名和密码。 登录模块验证信息,若正确则进入游戏主界面,否则提示错误并要求重新输入。 在游戏主界面,玩家可以看到卡牌和槽位等元素,开始进行卡牌操作。 每次卡牌操作后,游戏结束判断模块检查游戏状态,若未结束则继续游戏,若结束则触发游戏结果展示模块。 游戏结果展示模块显示玩家的得分、所用时间等信息,玩家可以选择退出游戏或重新开始,具体如图2所示。
玩家通过输入用户名和密码登录游戏,在游戏中进行各种操作以完成游戏目标。系统的数据流图构建如图3和图4所示。
图3 0层数据流图
图4 1层数据流图 用户名、密码:玩家在登录界面输入用户名和密码,将其传递给登录模块。 验证请求:登录模块将接收到的用户名和密码组合成验证请求,发送给验证模块。 验证结果:验证模块根据数据库中的用户信息对验证请求进行验证,将验证结果返回给登录模块。 登录成功 / 失败:登录模块根据验证结果向游戏主界面模块发送登录成功或失败的信息,若成功则传递用户名等相关信息。 游戏数据请求:游戏主界面模块在初始化和游戏过程中向数据提供模块请求游戏所需的数据,如卡牌数据。 卡牌数据:数据提供模块从外部卡牌数据源获取卡牌数据,并将其传递给游戏主界面模块。 操作数据:玩家在游戏主界面进行卡牌操作时,产生的操作数据(如点击卡牌、移动卡牌等)被传递给游戏逻辑模块。 游戏状态:游戏逻辑模块根据操作数据和游戏规则更新游戏状态,并将游戏状态信息传递给游戏结束判断模块。 结果数据请求:当游戏结束时,游戏主界面模块向结果生成模块请求生成游戏结果数据。 结果数据:结果生成模块根据游戏状态、得分等信息生成包含得分和所用时间等的结果数据,并传递给游戏结果展示模块。 显示结果:游戏结果展示模块将结果数据进行格式化处理,生成适合显示的内容,并在游戏主界面上展示给玩家。 结果反馈:玩家看到游戏结果后,可以进行相应的反馈操作(如退出游戏、重新开始等),这些反馈信息被传递回游戏主界面模块。 日期:2024.12.25 实习(实训)内容:项目的整体架构与原型设计 1.系统结构设计 本系统采用 MVC 架构模式,如图5所示。模型层(Model)负责处理游戏数据,如卡牌数据、得分数据、时间数据等;视图层(View)负责显示游戏界面,包括背景、卡牌、计分板、计时器等;控制层(Controller)负责处理用户输入和业务逻辑,如登录验证、卡牌点击事件处理、游戏结束判断等。
2.原型设计 2.1登录界面(LoginFrame) 采用网格袋布局(GridBagLayout),界面包含用户名标签、用户名文本框、密码标签、密码文本框和登录按钮。通过提供用户名和密码输入框,接收用户输入的登录信息。在登录按钮的点击事件处理中,获取输入的用户名和密码,并与预设的正确用户名和密码进行比对。如果匹配成功,关闭当前登录窗口并启动游戏主窗口,将用户名传递给游戏主窗口用于显示用户信息等操作。如果比对失败,弹出错误提示框告知用户登录失败原因,提示用户重新输入,效果如图6所示。
2.2游戏主界面(YangWindow) 整体采用绝对布局(null 布局),方便精确控制各组 |