[T.16] BattleByte:Beta 阶段发布说明

HelloWorld 2024-06-11 23:22:24
项目内容
这个作业属于那个课程软件工程
这个作业的要求在哪里第十六次团队作业
我在这个课程的目标是学习软件工程相关知识
这个作业在哪个具体方面帮助我实现目标发布Beta阶段的软件

新版本功能

在一所中学的电脑课上,老师正在向一群初中生介绍编程的基础知识。有些学生对这些概念感到陌生,有些则显得很兴奋。老师决定通过一个编程实时对战游戏来帮助学生们更好地理解这些概念。老师自定义了一系列编程题目,创建房间,往房间中加入对应的题单,学生们登录到游戏网站,加入这个房间,开始进行有趣的编程比赛。随着一场场比赛的竞技,学生们逐渐掌握了编程的基本原理,比如循环、条件语句等。
除了参与老师布置的比赛之外,同学们还可以参加随机题目的大逃杀活动,八位同学进行匹配就可以开始游戏。
通过这个游戏,学生们不仅学到了编程知识,还体验到了竞争的乐趣。他们与其他其他同学比赛,争夺游戏的胜利。通过这样的学习方式,学生们对编程产生了浓厚的兴趣,并且在游戏中享受到了学习的乐趣。

新版本对整个网站进行了美化。
以下是注册登录页面

img

img

img

img

增加了修改密码功能

img

导航栏新增了内容

img

主页界面进行了美化,添加了大逃杀匹配功能。同学们可以在电脑课中自由活动的时间参与该游戏,随机进行编程练习。

img

img

增加了加载游戏页面

img

新增了局内信息,可以看到自己的对手以及各自的血量和AC题目数量,实现了扣血机制。

img

img

增加了评测可获得的具体信息

img

为了鼓励大家获得胜利,我们给胜利和失败添加了特殊的动态页面和音效

img

img

增加了房间页面,同学们可以查看当前的房间信息。

img

img

提供了老师创建房间,根据标签搜索、查看和添加对应题目的功能

img

img

img

img

增加了历史记录的功能

img

这一版本修复的缺陷

之前的缺陷主要有四方面,题库、安全性、美观和用户群体不清晰。

  • 题库。

题库方面我们相对于我们的竞品确实无法获得优势,所以我们将软件的目标群体改为中小学生电脑课上的授课老师和学生。我们提供给老师自定义增加题目、标签,创建房间的选项。学生可以参加房间进行游戏。

  • 安全性

因为我们没有购买多个服务器,所以我们的开发、测试等功能都是在我们的生产环境服务器中运行的,所以我们在开发、测试过程中暴露的数据库等端口都开放给用户群体了。我们在实际发布过程中可以隐藏数据库端口,我们的数据库就不可以被外网访问了,安全性会大大提升。另外,我们的OJ系统等端口也是同理,我们在实际发布中只公开前端端口,安全性就得到了改善。
另外,我们添加了一些小功能的用户鉴权,修改了之前的bug。

  • 美观

美观是我们在Beta阶段花费很大心思的一个板块,因为游戏的趣味性与其前端的体验是息息相关的,一个漂亮的前端会在很大程度上改善玩家的游戏体验。我们在Beta版本美化了我们的网站,增加了动画、声音等功能。

  • 用户群体不清晰

在Alpha阶段我们的使用群体其实是不太清晰的,我们在面向程序员进行编程学习的功能上相比与LeetCode等平台是很难有优势的,即使在一些小功能上会有所突出,但我们是必然不可能实现一个更能被大家使用的产品。所以,我们修改了我们的用户群体。
我们从金山打字中警察抓小偷的游戏获取灵感,设计了一款更针对于上课的编程对战平台,这是一款新颖的游戏网站,我们认为实现一个类似的编程对战网站对于一些教育资源不丰富的小城市还是非常有参考意义的,他们可以使用我们的docker来部署到对应的学校服务器上,教师可以上传题目用于巩固知识,学生可以从中获取趣味。

img

对运行环境的要求

我们的产品类别属于web应用。

操作系统浏览器登录注册匹配
Windows10Google Chrome 112.0.5615.138正常正常正常
Windows10Microsoft Edge 112.0.1722.58正常正常正常
Windows11Google Chrome 112.0.5615.138正常正常正常
Windows11Microsoft Edge 112.0.1722.58正常正常正常
MACSafari 16.4正常正常正常
MACMicrosoft Edge 112.0.1722.58正常正常正常
Ubuntu 24.04 LTSChromium 125.0.6422.141 snap正常正常正常

本平台 ALPHA 阶段实现 Web 端应用。经过兼容性测试,用户可以在以上环境登录网站并正常使用全部功能。
网站 UI 目前无法适配移动端屏幕,在移动设备上访问网站可能会出现错位现象。

安装与使用方法

本软件实现Web端应用,无需安装,可以直接访问BattleByte
注册方式:在网站登录注册页点击注册功能,输入相关账号信息即可注册。
注册后登录即可正常使用上述所有功能。

描述系统已知的问题和限制

  • 由于校内环境的特殊性,暂时没有域名
  • 题目数量较少,玩家匹配次数较多后可能遇到重复的题目
  • firefox浏览器无法显示番茄道具,可以使用其他浏览器
  • room_request类型请求不能多个客户端在同一时间点同时send,否则所有客户端只能收到一条。情况较为极端,只要二者send存在一定的时间差就不会出现该情况

    说明软件的发布方式以及发布地址

直接通过网页访问BattleByte

...全文
132 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)【采用BPSK或GMSK的Turbo码】MSK、GMS内容概要:本文主要介绍了采用BPSK或GMSK调制方式的Turbo码相关技术研究,重点涵盖GMSK调制下的二比特差分解调方法、Turbo码与BPSK/GMSK调制相结合的系统性能分析,并提供了完整的Matlab代码实现方案。研究内容包括调制解调原理、编码结构设计、误码率仿真及系统优化等关键环节,旨在通过仿真手段验证所提出方案的有效性和可靠性,帮助研究人员深入理解现代数字通信系统中的关键技术和其实现方法。; 适合人群:具备一定通信原理和Matlab编程基础,从事无线通信、信号处理、编码理论等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握GMSK调制与Turbo码结合的系统设计与仿真方法;②学习二比特差分解调算法在实际通信系统中的应用;③通过Matlab代码实现提升对数字调制解调和信道编码技术的理解与实践能力;④为相关课题研究、毕业设计或工程项目提供参考和技术支持。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,对照通信系统基本原理深入理解各环节功能,重点关注调制解调过程与Turbo译码的协同工作机制,并尝试修改参数以观察系统性能变化,从而达到理论与实践相结合的学习效果。
代码转载自:https://pan.quark.cn/s/a4b39357ea24 LA 1010 逻辑分析仪被视作一种效能卓越的数字信号分析设备,其核心功能在于对数字通信协议,例如I²C,进行检测与解构。本资源将集中阐述LA 1010的操作流程以及如何借助该设备对I²C协议的波形展开分析。 确保逻辑分析仪被正确地连接至目标系统是极为关键的环节。在运用LA 1010的过程中,必须将分析仪的通道0与通道1分别对应连接至目标装置的SCL(时钟)与SDA(数据)线路。务必保证连接的稳固性且无任何干扰因素,以此确保数据采集的精确度。 随后,需要设定采样参数。采样频率对于能否成功捕捉到信号具有决定性的作用。针对I²C协议,通常选用的采样频率范围介于100kHz到400kHz之间,这一范围的选择取决于实际应用场景中I²C总线的运行速度。然而,LA 1010所能达到的最高采样速率可能高达500MHz,因此需要根据具体需求进行相应的调整。此外,还必须精心挑选适配目标设备工作电压的电压等级,例如3.3V、5V或1.8V。 在软件操作层面,需要选取恰当的通道与协议种类,即I²C。一旦启动采样,逻辑分析仪便开始记录相关数据。软件界面通常会实时展示波形图,为观察与分析提供便利。 关于I²C协议波形的解读,我们可以遵循以下步骤: 1. 总线处于空闲状态时:SCL与SDA均维持在高电平位置,这表明总线当前未进行数据传输。 2. 传输起始信号:当SCL处于高电平期间,SDA线从高电平转换至低电平,此动作标志着数据传输的开始。 3. 地址、数据及应答的识别:在每一个SCL高电平脉冲的持续时间内,SDA线上的电平状态代表了数据位。地址与数据的传输均为双向过程,而读写标识则由SDA线上的电平来...
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 在当前文档中,我们将详细研究在C#开发平台中借助BouncyCastle.Crypto库1.8.10版本达成中国的国家标准密码学方案,涵盖SM2、SM3以及SM4这几项技术。这些密码学方案在中国网络安全保障与数据维护领域具有核心地位,为本地化安全解决方案提供了坚实的技术支撑。 让我们首先掌握这三个国家密码算法的基本原理: 1. **SM2算法**:SM2是一种基于椭圆曲线密码体系(ECC)的公钥加密方案,主要用于数字签名和加密操作。它提供了一种高效且安全的身份确认和数据防护机制。 2. **SM3算法**:SM3是一种密码学哈希函数,与SHA-256类似,能够将任意长度的输入信息压缩为固定长度的摘要,常用于数据完整性的检验和确认。 3. **SM4算法**:SM4是一种分组密码方案,采用128位的分组大小和128位的密钥,适用于对称加密,广泛用于无线网络传输和存储数据的加密处理。 接下来,我们将逐步解析如何运用BouncyCastle.Crypto库在C#环境下实现这些密码学方案: **1. 引入库与配置开发环境** 在C#应用程序中,需要通过NuGet包管理工具或手动方式添加BouncyCastle库的引用。务必确保安装的是1.8.10版本。 ```csharp using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Security; ``` **2. 实施SM2的加签与解签** SM2的签名过程和验证操作涉及椭圆曲线运算。必须创建一个私...
源码下载地址: https://pan.quark.cn/s/28d95df2f2ec 在数字化时代的进程中,微信小程序凭借其便捷性、无需下载安装的优势,成为了移动互联网应用的热门选择。本篇将详细剖析“猫眼微信小程序源码”,展示其内部开发技术和设计思想,为计划从事微信小程序开发的人员提供重要的学习素材。猫眼微信小程序是一款融合了电影票务购买、影片资讯检索、影评交流等功能的娱乐软件,其源代码具有显著的学习意义。我们必须掌握微信小程序的基本构成。微信小程序由JSON配置文档、WXML结构文档、WXSS样式文档和JavaScript逻辑文档四个部分构成,这些部分共同创建了小程序的运行条件。 1. JSON配置文档:这是小程序的整体设置,包括小程序的基本要素,例如AppID、页面路由、网络请求地址等。猫眼小程序的JSON配置文档或许包含了特定的功能配置,例如个性化主题色调、导航栏设计等,以达成其独特的视觉呈现。 2. WXML(WeiXin Markup Language):这是微信小程序的结构性语言,类似于HTML,用于构建页面的结构和布局。猫眼小程序的WXML文档中,可能包含了丰富的组件,如button(按钮)、view(视图容器)、image(图片)等,通过这些组件来设计出用户交互界面。 3. WXSS(WeiXin Style Sheet):这是微信小程序的样式定义语言,基于CSS,但包含一些扩展功能。猫眼小程序的WXSS文档中,可能会采用多种布局技术(如Flex布局)以及样式动画,以完成精细的UI设计和平滑的用户体验。 4. JavaScript逻辑文档:这是小程序的关键部分,负责处理业务流程和数据管理。猫眼小程序的JavaScript文档中,可能包含了接口调...

73

社区成员

发帖
与我相关
我的任务
社区描述
2024年北航敏捷软件工程
软件工程团队开发结对编程 高校 北京·海淀区
社区管理员
  • clotho67
  • Yeyanhan
  • HJin_Gwok
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧