跨平台脚本开发技术期末大作业报告

2021-6-28 00:46:46

#javascript

157

2020-2021学年第2学期

实 验 报 告

实验内容

平台跳跃游戏。

作品设计(目的,功能)

  • 目标:实现一个平台跳跃游戏。

  • 功能:游戏上能够实现基本的移动、得分、死亡,生命数等,也拥有账号系统的基本功能如登陆注册、评论、分数上传,排行榜,评论等。

项目评分

| 函数式编程 | xhr fetch api | FRP | session Storage | 响应式设计 | other | | -----| ---- | ---- | ---- | ---- | ---- | | 4 | 4 | 3 | 4 | 3 | 4 |

系统结构描述

本品实现语言为javascript+html+css,主要使用Node.js+express后端开发,vue前端开发,数据库采用mysql,数据库结构采用冗余设计。

游戏界面:用于进行平台跳跃游戏

信息界面:用于显示个人信息、评论、排行榜等等。

技术要点说明

本人主要是进行了前端页面布局设计,游戏机制修改,游戏素材替换,增加前端排行榜,注册登录,游戏信息,评论区等动态渲染内容,根据后端数据渲染界面,根据游戏状态渲染游戏信息模版,前后端接口调试。

  • 排行榜
    • 有两种形式
      • 本地:当前端页面连接不到数据库时,将会读取浏览器的localStorage缓存渲染排行榜
      • 云端:当前端页面能连接到数据库时,将会读取云端排行榜数据
  • 评论
    • 用户通过输入评论内容,点击评论按钮即可评论,前端将会对后端发起请求,新增评论
    • 自动从页面缓存数据中提取姓名,时间等内容,存储到数据库中并动态渲染新增的评论
  • 登录
    • 设计用户名框和密码框,点击登录按钮将会对后端发起用户请求认证,请求通过后则会进入登录状态,由sessionStorage存储相关用户信息,相关用户信息将会用于上传分数以及发布评论用。
    • 登录成功后会自动隐藏登录相关内容
  • 游戏修改
    • 修改游戏素材,样式,美化界面
    • 增加生命机制,只有生命数消耗完全,才会进行结算以及游戏的初始化
    • 游戏结算将会跳出结算弹框,自动上传分数到排行榜
    • 增加计时功能,记录单局游戏时间
    • 增加记分机制,吃到的金币越多,分数也越高
  • 前后端交互
    • 使用axios库来对后端发起http请求,做到了异步请求,防止页面卡顿
    • 采用了前后端分离的方式开发,加快了项目的开发效率

个人总结

  • 本次大作业很有意义,我的主要工作在于对游戏机制的修改和页面的交互逻辑,使用了storage这一h5的新特性进行了页面的缓存操作,也使用了vue框架来对页面进行动态渲染,这次项目写下来让我对js的异步操作也有了更深的理解。
  • 本学期的跨平台脚本开发技术课程还是很不错的,老师讲的很多东西都挺有深度的,大大拓宽了我的眼界,加深了我的技术深度,期末项目的选题也很有意思。老师教授的内容质量也很高,也带领我们看了很多有意思的项目。