project6 PIT游戏

【理解知识】

说了半天,得在有source的地方stop。

之前没参与,现在marker从某渠道中进来了。就记录。

每个过程表格中记录的渠道都是进入的渠道。

记录的是没见过marker的、进入的渠道。见过marker走到头的渠道要划掉。即使是记录过东西的渠道,marker走到头之后就不记了。到了才划掉,没到不划掉。

记录现在有多少张牌:就是记在P过程里面的。

要点halt,里面的消息才会清空。

 

把每个player自己的编号打出来,把player几号的动作打印出来。然后就发现了一直存在的问题:果然只有一个人发了,太鬼畜了。

channelStateMap.size() >= numPlayers一直满足就只会发一次,所以要把channelStateMap的key整个给remove掉。

 

 

打印出来以后发现marker发少了,没有集齐全部的。又说没错?一次个channel见到一个marker就行了。所以没发错。

 

因为不知道snapshot是否开始,应该有一个控制开始的变量,开始之后才能发marker。加了,好像没啥用。

 

发完snapshot之后,本地和渠道里的东西都要清空。清空了,还是不起作用。

 

channelStateMap中没有sourceplayer = -1的,也改了,不起作用。

加个判断条件,见过了就不更新本地map了。停止发送不应该是去掉map的key,而是加个不能重复的条件。但是怎么可能不包括呢,自己一开始就加了啊。不清好像更没按代码来啊。

 

else里要打印但是不要处理,if里就是照个相,也要Send(?为啥啊,伪代码里没有啊。)

MGLB的,让我debug,这是让我死啊……可以用绿色三角形往下走。渠道数量和人数应该都只有4个人。debug确实是可以看出来程序是怎么走的,但是吧,还是不知道它为啥只发给我-1啊……

停止记录应该是用boolean控制的。

 

 

【知识】

必须先extends全盘继承再mplements来具体实现

同一个package里面,通过实例化来用。

没有初始化,是null,没有任何方法。所以定以后必须初始化。

【方法论】

没调用是因为没有根本没有函数,囧。

我开始想看注释行了,想理解它让我干嘛,而不是拒绝接收。

自以为是地稍微改改示范代码就不对了,说明不能自以为是。还不如老老实实照着写

我居然把打印大法忘了,该死。为了知道程序走向了哪里,能打的全部都打。一步步找原因:fail打印最近的地方在哪,然后回去找。

包括变量名的log也可以直接复制到Google里面查。

【细节】

time out是因为服务器没有启动。

posted @ 2019-04-12 11:00  苗妙苗  阅读(133)  评论(0编辑  收藏  举报