首页 > 其他分享 >实现微服务--匹配系统(上)

实现微服务--匹配系统(上)

时间:2023-01-09 21:44:08浏览次数:34  
标签:服务 -- 前端 getters Controller state 匹配 store

这节课实现匹配功能
关于面试,探讨逻辑问题。比如贪吃蛇的实现,kob是连续移动,涉及到如何处理移动,自己写的移动函数,自己的构思思考。

生成地图,蛇的判定,放到服务器端完成
小知识:fps游戏,诸如csgo,吃鸡,是在本地完成判断,很容易作弊。炉石之类的回合制游戏,不容易作弊。

通信比较复杂的项目,多把通信过程画一画。
请求一个链接的实质,new 一个 web socket实例。

使用json 进行前后端通信。

安装依赖,记得刷新 maven。

在使用Spring进行项目开发的时候,会大量使用到自动装配,那自动装配是什么呢?简单来说:Spring 利用依赖注入(DI)功能,完成SpringIOC容器中各个组件之间的依赖关系赋值管理。
以@Autowired 为例,加了这个直接就可以直接得到对应的属性实例,并调用它的方法
在Spring中 Controller注解用于指示Spring类的实例是一个控制器,相对于实现Controller接口变得更加简单。而且实现Controller接口只能处理一个单一的请求,而是用@Controller注解可以支持同时处理多个请求动作,更加灵活

前端socket 存储到全局变量中。store

state:存储状态。也就是变量;
getters:派生状态。也就是set、get中的get,有两个可选参数:state、getters分别可以获取state中的变量和其他的getters。外部调用方式:store.getters.personInfo()。就和vue的computed差不多;
mutations:提交状态修改。也就是set、get中的set,这是vuex中唯一修改state的方式,但不支持异步操作。第一个参数默认是state。外部调用方式:store.commit(‘SET_AGE’, 18)。和vue中的methods类似。
actions:和mutations类似。不过actions支持异步操作。第一个参数默认是和store具有相同参数属性的对象。外部调用方式:store.dispatch(‘nameAsyn’)。this.$store.dispatch(‘user/login’, this.loginForm)
modules:store的子模块,内容就相当于是store的一个实例。调用方式和前面介绍的相似,只是要加上当前子模块名,如:store.a.getters.xxx()。

jwt验证的核心逻辑,获取token进行解析,判断是否有对应的userId。

全局变量加 $ 。在template中
    <PlayGround v-if="$store.state.pk.status === 'playing'"/>

/* 照片居中,圆形 */
div.user-photo{
    text-align: center;
};  // 这里多个分号。css不显示
div.user-photo > img {
    border-radius: 50%;
}
// 前端debug 日记。style加分号,导致第二个css不显示

游戏概括:前端,后端,联机
java 中的final,相当于 c++ const,常量

json event域,表示操作类型。

记录今天的一个bug历程。进行匹配,但是没有匹配到对手。然后把整个思路框架整理了一遍
前端,点击事件,出发更新,向后端发送消息。后端接受信息,把url实例化成用户,放入匹配池。这里自己犯错了,匹配池并没有定义成全局变量,程序卡在了匹配池那一段.
然后匹配池返回用户信息。前端挂载的组件自动接收。

将生成地图的逻辑放到云端

// 记录js 错误。构造函数传参。this.store
        const g = this.store.state.pk.gamemap;  
// 记录传地图错误。后端没有put 地图。先是改了两个前端的bug,没加js(这个可以看到具体的),useStore 引用错误。

下节课,将蛇的交互传到服务器

标签:服务,--,前端,getters,Controller,state,匹配,store
From: https://www.cnblogs.com/spock12138/p/17033586.html

相关文章

  • Windows权限维持
    隐藏用户原理在创建用户时,在用户名后添加一个$并修改注册表即可把该用户隐藏,只有在注册表中才能看到用户信息复现过程使用netuserwhoami$Aa123456/add添加一个用......
  • 在QEMU-KVM环境下部署Oracle 19.16 RAC
    KVM环境和其他虚拟化或真实生产最大差异主要就是在实施前期准备工作上:具体在DB节点和存储环境的准备工作上有差异,本文会详细说明。而剩余基本软件安装和补丁应用部分......
  • tornado原理介绍及异步非阻塞实现方式
    tornado原理介绍及异步非阻塞实现方式以下内容根据自己实操和理解进行的整理,欢迎交流~在tornado的开发中,我们一般会见到以下四个组成部分。ioloop:同一个ioloop实例运......
  • python简易计算器的实现
    #导入模块importdatetime,time,tkinter#新建一个窗口windows=tkinter.Tk()#给窗口定义标题windows.title('简易计算器')#给窗口定义尺寸windows.geometry('500x60......
  • Windows提权
    下边内容都是一些提权思路的整理,对于很多知识点并没有细化和深入,仅供个人参考,日后在实战中碰到了会深入学习并记录在新的文章中。基础知识权限组划分:Administrators:管......
  • Mysql提权
    UDF提权原理UDF(userdefinedfunction)即用户自定义函数是Mysql的一个拓展接口,用户通过自定义函数可以实现在Mysql中无法方便实现的功能,其添加的新函数都可以在SQL语句中......
  • kasan中地址计算的一点理解
    内核中利用kasan检查访问内存是否合法时需要将要访问的内存地址映射到shadow区中的对应位置,然后再判断在shadow区里存放的数值。下面是转换函数:staticinlinevoid*kasa......
  • 前端高级进阶-事件循环
    事件循环浏览器的进程模型何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要......
  • 红日四
    外围打点nmap大概扫下全端口2003端口有个phpMyAdmin,版本为4.8.1,存在文件包含漏洞!通过执行select"<?phpeval($_GET['a']);?>在session中写入一个马,然后通过该马写个一......
  • 红日三
    外围打点nmap扫描服务访问80端口web服务,dirsearch扫后台[17:42:51]200-92KB-/1.php[17:42:51]200-0B-/2.php[17:42:52]200-18KB-/LICENSE.tx......