一个Roguelike类型H5游戏的服务器开发——成就系统

首先,这个游戏主要参考了贪婪洞窟的玩法和系统,大部分功能都与贪婪洞窟相同,即人物通过爬塔,每层刷怪捡宝箱来强化自身属性,有装备系统和技能系统,战斗是纯自动的回合制,说白了就是你一刀我一刀打死为止……
这里先说一下我首先接触的成就系统,其实说是成就,其实任务也是用的同一套东西,就是把各类操作的进度给记录下来,存在数组里面,根据不同的类型的成就(如终身成就、每日任务、每周任务等等)来创建不同的数组;
这个项目里我是用一组枚举类型作为数组的下标,然后也要有一个数组用于存储已经完成的成就和任务ID,这个是用来区分是否已经领奖的,大概的函数功能也不多,都是对数组进行数据的修改和存储,大概就那么几个功能:

  1. 将成就进度发送给客户端(这里需要和客户端约定好协议内容,协议相关的后面再说)
  2. 增加成就进度(直接在原有进度上增加)
  3. 设置成就进度(直接修改进度的值)
  4. 完成成就领奖
  5. 清空特定成就进度(如任务日常、周常等)

这里完成成就领奖可能是功能里面稍微复杂的,要判断好成就的完成情况,确定好了才给客户端发奖励,要注重逻辑顺序,不能信任客户端,发完奖了就要马上将完成的成就放入完成列表里,防止重复领奖,其中大部分的条件判断也是通过策划来进行配置的,需要有一些读取策划配置表的操作,各个字段也需要和策划协商好;
其余逻辑都比较简单,我用的这套服务器框架,会将一个功能模块里的函数都放在一个管理器里面(如果功能需求比较少就不需要了);
写好功能和函数之后,基本就是在需要的地方调用这些函数,来进行进度的记录;
这样想一想,作为我刚上手接触的功能模块,成就系统确实是比较简单的一块了……

未完待续……

### 如何在 IntelliJ IDEA 中配置和使用 Swagger #### 添加 Maven 依赖 为了使 Swagger 能够工作,在 `pom.xml` 文件中需加入特定的依赖项。这可以通过编辑项目的构建文件来完成: ```xml <dependencies> <!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <!-- swagger ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency> </dependencies> ``` 这些依赖会引入必要的库用于生成 API 文档以及提供交互式的 UI 页面[^4]。 #### 创建 Swagger 配置类 接着创建一个新的 Java 类用来初始化并配置 Swagger 实例。通常命名为类似于 `SwaggerConfig.java` 的名称,并放置于合适的位置,比如 `config` 包内: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; @Configuration public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder().title("API文档").description("").termsOfServiceUrl("") .contact(new Contact("", "", "")) .license("").licenseUrl("").version("1.0") .build(); } } ``` 这段代码定义了一个 Spring Bean 来设置 Swagger 的基本信息和其他选项。 #### 启动应用测试 当上述步骤完成后,启动应用程序即可访问默认路径 `/swagger-ui.html` 查看自动生成的 RESTful 接口文档界面。通过浏览器打开该链接可以浏览到所有已暴露出来的 HTTP 请求方法及其参数说明等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值