数字华容道项目总结

2024-03-13 23:28
文章标签 总结 项目 数字 华容道

本文主要是介绍数字华容道项目总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

项目名称:

项目背景:

项目目标:

项目成果:

经验教训及学习:

未来优化:


项目名称:

数字华容道小游戏

项目背景:

在学习编程过程中,为了加强特性技术和对概念的理解,以及学习新的技术,决定开发一个简单的小游戏。尽管这个项目不是为了商业目的或者实际应用,但是它能帮助我巩固所学知识,提升编程能力

项目目标:

1.学习和使用websocket

2.复习和熟练所学过的知识和方法

3.提升解决问题的能力和编程实践经验

项目成果:

1.完成了整个游戏的基本流程,保证整个项目能够正常运行。

2.完成了websocket的学习和使用,熟练掌握websocket四种大方法的使用(onopen、onmessage、onclose、onerror),以及发送数据(send)和主动关闭(close)方法的使用;还有心跳包的定义、使用和关闭以及断线重连的方法。

3.新学到了HTTP协议和HTTPS协议之间的转换;启动时端口号的改变;移动端组件库NutUI的使用;点击复制相应内容。

4.复习了vue3、pinia、git等技术的使用以及间隔函数的使用和关闭。

5.认识到自己在开发过程中的不足以及和后端之间交流的问题。

经验教训及学习:

1.遇到的困难:图片的剪裁

困难描述:数字华容道中首先碰到的问题就是图片的剪裁,只有裁剪了图片才能继续进行下一步。

解决过程:刚开始没有头绪,于是在csdn和chatGPT寻找方法,在GPT上找到了一个使用Canvas裁剪图片的方法,经过测试是可以的,经过修改最终与代码融合到一起。

学习进步:了解了Canvas裁剪图片时需要传入的类型,以及与被裁减图片真正相关的地方。

2.遇到的困难:游戏主体功能的实现

困难描述:要实现每一个方块点击后判断附近是否有空白区域,有的话就移动到空白位置,没有则不动。

解决过程:初始想着自己解决,本来想去github上找一段代码看看,结果安装依赖失败,没办法打开,于是就放弃了这个想法,然后最终通过给每个方块添加点击事件一个一个判断,这种方法几乎可以称之为暴力解法了。中途代码丢了一次,当第二次开始写的时候,问了一下杨成熙,然后他就说了一个方法,可以说只是算法中一个很简单的思路,但是因为是在项目中,没有算法的提示环境,于是就没想起来,最后按照这个方法解决成功,大幅度减少代码的使用量。

学习进步:学会了将算法融入到实际开发过程中。

3.遇到的困难:websocket的使用

困难描述:初次使用websocket,只是知道websocket的几个方法,没法正确的使用。

解决过程:后端写好了过程,最初因为模板使用的是HTTPS协议,导致与后端连接不上,当降为HTTP之后还是不行,最后在老师指导之后可以连接成功,websocket带的几个方法也可以使用。

学习进步:学会了使用websocket的各种方法,以及HTTP和HTTPS与websocket的对应关系。

未来优化:

根据老师提出的问题以及用户测试提出的问题进行以下修改

页面优化:

1.游戏说明

2.游戏页面完整图预览

3.游戏名字。

功能优化:

1.游戏结束后弹出带有自己成绩(时间,步数)的照片,并且可以分享(分享图带二维码,可以进入主页)

2.房间满员提示,并且不让进入房间

3.清除网页回退功能

4.增加难度选项。

5.初次进入房间导致渲染的问题(将首次渲染改成直接渲染,不要从本地获取数据再渲染)

6.分享时间过长导致刷新,日后测试在做修改。

7.组队玩修改照片

8.游戏结束返回房间,不直接断开连接。

9.好友离开不解散房间

10.将游戏页面改成可滑动的

11.房主通过邀请码依然可以进入成功

12.邀请码始终生效,如何解决

13.聊天功能

这篇关于数字华容道项目总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806529

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/