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

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

时间:2023-01-11 21:11:17浏览次数:30  
标签:direction 服务 undefined -- game 注解 匹配 data const

这节课实现具体的匹配系统
记录一个玄学错误。先打开前端 vue ui,再打开MySQL服务,报错。
内容包括匹配系统,联机对战,实况直播。
开发项目的思路--需要啥,定义啥

// 减少大量冗余代码
@Data注解的功能与使用方法
	## 注解功能
		1、@Data可以为类提供读写功能,从而不用写get、set方法。
		2、他还会为类提供 equals()、hashCode()、toString() 方法。

实现地图,以及玩家基本信息同步之后。现在开始实现玩家同步。
三棋盘,两个玩家和一个云端,棋盘同步问题。

游戏完整的流程

在当你声明了一个变量,但是没有创建一个对象,会发生Exception。如果您在创建num对象之前尝试取消引用,则会得到一个NullPointerException。在最琐碎的情况下,编译器将捕获问题并让您知道“num可能尚未初始化”,但有时您编写的代码不会直接创建对象。

记录控制蛇的移动的bug。反思,先理清思路。
前端移动,事件监听,得到移动方向。
前端,监听事件没有错误

后端 OnMessage 接受信息。

空指针异常的原因,game是null,空值。这里多线程,注意下赋值。
现在错误来到了前端

else if(data.event==="move") {
                    console.log(data+" move 这里没错。");
                    // 设置蛇的移动。取出来两条蛇。设置全局变量. 存储gameObject
                    //  这里,去除变量有错误。
                    const game = store.state.pk.gameObject;
                    console.log("move .const game"+game);
                    const [snake0,snake1] = game.snakes;
                    console(" event move "+data.a_direction+" "+data.b_direction);
                    snake0.set_direction(data.a_direction);
                    snake1.set_direction(data.b_direction);
// 注意,是GameMap vue函数存储 GameObject全局变量

现在自己能力不足,一些玄学错误暂时没有能力解决。先从简单的开始。
现在开始实现蛇的碰撞检测。

【前端报错】Uncaught TypeError: Cannot read property'变量名' of undefined
通常undefined错就是用了一个没有定义的变量,也引申到下面这种情况:

一、现状说明
变量名定义正常;
数据成功渲染到前端;
但是一直报错Uncaught TypeError: Cannot read property' 变量名' of undefined

在js中所有没有定义的变量都是undefined,而infos[infos.length]并不存在,所以它就是undefined类型,所以报这个错误很正常。
                    //   这里玄学报错
                    const game = store.state.pk.gameObject;
                    console.log("全局变量 game。event 函数中 "+game);
                    const [snake0, snake1] = game.snakes;
Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库,缓存和消息代理。
简单来说,它是一个以(key,value)的形式存储数据的数据库.

Java bean
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。

Mapper 注解
    Mybatis是一个优秀的持久层框架,什么是持久层呢?就是可以长时间保存数据到数据库或者硬盘当中,不会像放在内存中,一断电就丢失了。
    @Mapper注解是由Mybatis框架中定义的一个描述数据层接口的注解,注解往往起到的都是一个描述性作用,用于告诉sprigng框架此接口的实现类由Mybatis负责创建,并将其实现类对象存储到spring容器中。
    首先我们需要引入jar包(依赖),分别是JDBC、MYSQL、MYBATIS。


吐血了。找了半天。

标签:direction,服务,undefined,--,game,注解,匹配,data,const
From: https://www.cnblogs.com/spock12138/p/17039085.html

相关文章

  • Mysql页分裂
     当我们向某个索引对应的B+树插入记录,需要先定位到这条记录应该被插入到哪个叶子节点对应的数据页中,确定之后有两种情况:①该页恰好空间足够,能直接插入数据②该页空间不......
  • 【Java篇】统计一个字符串中有几种字符,每个字符的个数(集合实现)
     主要考察的是对字符串中的方法的熟悉程度,以及对集合的熟悉程度因为要统计字符的个数,所以首先想到的是keyvalue形式的集合,也就是Map@Testpublicvoidtest(){......
  • EasyUI 数据表格(DataGrid)——第三节
    新加一些行属性和列属性(代码中有标识)JS代码$(function(){$("#box").datagrid({//设置请求路径url:"getDataGridList.action",//设置表格宽度......
  • 【Spring注解】1.@Configuration&@Bean
    @Configuration&@Bean微信公众号:​​程序yuan​​如果需要spring注解视频,请到公众号评论留言。源码,视频全部奉上!当前springboot真是老火了,所以非让自己学一把,但是学了前面......
  • 手把手教你使用IDEA快速搭建一个SpringBoot项目
     手把手使用IDEA快速创建一个SpringBoot项目目录​​手把手使用IDEA快速创建一个SpringBoot项目​​​​1.NewProject选择maven,next​​​​2,填写GroupId,ArtifactId,Ver......
  • 【java】冒泡Bubble算法
    冒泡Bubble算法 微信公众号:​​程序yuan​​关注可获得更多干货和视频教程哦。问题或建议,请公众号留言;面试中很常被考到的一道题,就是冒泡排序,可以说是非常经典了参考网上......
  • 【springboot异常】如何在控制台输出彩色的日志
    微信公众号:​​程序yuan​​关注可获得更多干货哦!问题或建议,请公众号留言;在我们成功运行SpringBoot项目之后,查询控制台日志的时候会控制台的日志是黑白的,此时我们需要进行......
  • 【MySQL】Loading class `com.mysql.jdbc.Driver'. This is deprecated.
    使用的mysql时,配置数据库驱动的时候报了一个这样的错:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver'.......
  • 【EasyUI篇】ComboTree数型下拉框组件
    微信公众号:​​程序yuan​​关注可获得更多干货哦!问题或建议,请公众号留言;------------------------------------------------关注小编微信公众号获取更多资源------------......
  • 【springboot异常】 Exception in thread "main" java.lang.UnsupportedClassVersionE
    微信公众号:​​程序yuan​​关注可获得更多干货哦!问题或建议,请公众号留言; 在我们运行SpringBoot应用的时候会遇到这样一个问题。Exceptioninthread"main"java.lang.U......