草庐IT

【2022javaweb课设】基于购物系统的游戏原型设计

DorinXL 2023-03-28 原文

会议记录

Day1 2022/5/20 晚

确定小组成员。

确定立项题目与方向:基于商城系统的游戏原型设计。

Day2 2022/5/21 早

今日任务:

  1. 确定开发环境

    前端:html+css+js,使用Bootstrap框架

    后端:MVC开发模式,JSP+JavaBean+Servlet

    Web应用服务器:tomcat 9.0.30

    数据库:MySQL

  2. 功能需求分析

    1. 前端页面需求:
      1. 网站欢迎页面:介绍网站作用,提供登录和注册的窗口。
      2. 注册和登录界面:传递用户信息到后端服务器与数据库交互。
      3. 商店页面:作为主界面显示各种道具供玩家选择,提供进入战斗页面的入口,同时可以查看个人资料、购物车。
      4. 个人资料页面:弹出展示,表现一些个人信息。
      5. 购物车页面:弹窗展示,展示玩家已选择的道具与效果。
      6. 战斗页面:游戏在该页面展示,玩家通过购买道具增强自己的属性或是削弱对手的属性,从而赢得胜利,进入下一关卡。
    2. 后端需求:
      1. 设计数据库内容:
        1. 需要两个库,库PlayerAccount存放用户登陆数据与游戏数据,库GameSetting存放道具信息与敌人信息。
        2. 库PlayerAccount中需要表players共一张表,表players中共number、name、password、hp、attack、defense,money七列。
        3. 库GameSetting中需要prop、enemy两张表,表prop中共number、name、type、variation、cost五列,表enemy中共number、name、hp、attack、defense、gold五列。
  3. 技术难点预处理

    1. 同页面内弹出小窗
      1. 使用Bootstrap框架实现模态框。
    2. servlet与jsp相互跳转时的路径
      1. 使用web.xml与绝对路径解决。
  4. 熟悉使用Github的协同工作

    1. 在Github上创建私人项目并邀请小组成员进入。
    2. 小组使用Github Desktop图形化界面进行代码的协同工作。

遗留问题:

  1. 将样例代码修改为所需代码。
  2. 数据库更新,添加花费、金钱等重要选项。
  3. 显示个人信息。
  4. 购买道具后实现增益效果。
  5. 开始着手对战。
    1. 界面构筑。
    2. 玩家点击对战——提交数据到servlet——服务端返回数据——客户端表现完毕后结算。
    3. 胜利则保存数据,失败则重新来过。

Day3 2022/5/22

今日任务:

  1. 修复昨日遗留bug。
  2. 构建并丰富数据库表项。
  3. 开始分析核心代码思路并编写。
  4. 后端实现验证码注册登录、与数据库交互并实现保存登录信息。
  5. 前端实现登录与主界面的实现与优化。

未处理:

  1. 实现战斗
  2. 实现购买

Day4 2022/5/23

今日任务:

战斗环节初步完成:

战斗思路:用户登陆后创建一个临时tmpPlayer用来供玩家修改属性,每次战斗获得胜利后才会修改保存原本数据库中的数据,这样实现存档功能。

未处理:

  1. 实现ajax传json,本地根据传值结果做出相应界面变化。
  2. 按钮的开关操作。
  3. 循环调用js,目的是为了点一次按钮就开始执行战斗环节。

Day5 2022/5/24

今日任务:

现在开始使用bootstrap框架重构前端

  1. index欢迎界面完成。
  2. 注册与登录通过模态框实现。
  3. 两个模态框分别刷新验证码,出错提示,重新打开刷新提示
  4. 将注册与登录同欢迎页面在一起,使用ajax实现登录、注册以及登录状态保存。同时可以跳转到游戏主界面。

遗留问题:注册失败

Day6 2022/5/25

今日任务:

  1. url导入背景图片,改变其背景透明,透明度通过rgba()实现。
  2. 界面布局高度不一致,尝试用flex修改

Day7 2022/5/26

今日任务:

  1. 完成装备的刷新机制。

  2. js获取div内容、克隆div,修改div各项属性及其子属性。、

  3. 装备刷新使用正态分布生成概率5% 12% 25% 28% 30%(线性)

    500 500~1700 1700~4200 4200~7000 7000~10000

    整体流程:Store.jsp->GachaServlet->DAO->Servlet->Store.jsp

    image-20220604150807588

    刷新商店

Day8 2022/5/27

今日任务:

  1. 重新编写了购买、修改购物车的逻辑
  2. 添加刷新玩家信息的函数,请求玩家数据的方法。
  3. 完成了战斗页面的构建,添加了逻辑。
  4. 两侧card,中间是ui以及展示区域。
  5. 完成PPT,完成视频展示,丰富数据库,找背景图以及怪物图。
  6. 顺利完成答辩。

战斗

一些自己编的数据库:

image-20220604151755876

使用的素材:

怪物图片:https://pixeljoint.com/pixelart/41620.htm

道具图片:https://cheekyinkling.itch.io/shikashis-fantasy-icons-pack

人物图片:https://craftpix.net/freebies/free-halfing-avatar-icons/

背景图片:

https://yangsh.artstation.com/projects/mq5GNd

https://www.artstation.com/artwork/A95vPo

有关【2022javaweb课设】基于购物系统的游戏原型设计的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  7. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  8. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  9. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  10. ruby-on-rails - 设计注册确认 - 2

    我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:

随机推荐