修改TODO内容
This commit is contained in:
parent
14581ecbf9
commit
eed1b0f98b
|
@ -254,7 +254,6 @@ public class RoomServiceImpl implements RoomService {
|
||||||
var message = new GameMessage<>(MessageType.LETTER, new LetterAction(LetterActionType.GET, letter, player.getUserId()));
|
var message = new GameMessage<>(MessageType.LETTER, new LetterAction(LetterActionType.GET, letter, player.getUserId()));
|
||||||
for (var playerEntry : players.entrySet())
|
for (var playerEntry : players.entrySet())
|
||||||
sendMessage(playerEntry.getKey(), message);
|
sendMessage(playerEntry.getKey(), message);
|
||||||
// TODO 字母校验和加分、改变血量逻辑
|
|
||||||
|
|
||||||
// 如果接取的是回血爱心,给玩家加10滴血
|
// 如果接取的是回血爱心,给玩家加10滴血
|
||||||
if (letter.getLetterVal().equals(CommonConstant.HEAL)){
|
if (letter.getLetterVal().equals(CommonConstant.HEAL)){
|
||||||
|
@ -316,7 +315,6 @@ public class RoomServiceImpl implements RoomService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getWords(Map<String, Integer> words,GameRoom room) {
|
private void getWords(Map<String, Integer> words,GameRoom room) {
|
||||||
// TODO 从数据库中获取一批随机单词,然后放入words中,并把单词数组推送给所有玩家
|
|
||||||
Aggregation aggregation = Aggregation.newAggregation(Aggregation.sample(10));
|
Aggregation aggregation = Aggregation.newAggregation(Aggregation.sample(10));
|
||||||
AggregationResults<Word> results = mongoTemplate.aggregate(aggregation,Word.class,Word.class);
|
AggregationResults<Word> results = mongoTemplate.aggregate(aggregation,Word.class,Word.class);
|
||||||
List<Word> mappedResults = results.getMappedResults();
|
List<Word> mappedResults = results.getMappedResults();
|
||||||
|
@ -332,7 +330,7 @@ public class RoomServiceImpl implements RoomService {
|
||||||
|
|
||||||
private void gameLogic(GameRoom room) {
|
private void gameLogic(GameRoom room) {
|
||||||
getWords(room.getWords(),room);
|
getWords(room.getWords(),room);
|
||||||
// TODO 从300秒开始倒计时,每秒调用一次generateLetter方法,如果时间到了,调用endGame方法
|
// TODO
|
||||||
// 如果当前单词被某玩家拼完,Map对应单词的value++,如果value>=玩家数(有可能中途有人退出),目前单词出队列,继续下一个单词
|
// 如果当前单词被某玩家拼完,Map对应单词的value++,如果value>=玩家数(有可能中途有人退出),目前单词出队列,继续下一个单词
|
||||||
// 游戏结束后需要向玩家发送排行榜数据(用户ID、分数、排名)
|
// 游戏结束后需要向玩家发送排行榜数据(用户ID、分数、排名)
|
||||||
// 最大的问题:丢包后如何处理?比如其他玩家按下按键后,自己没有接收到松开消息,导致其他玩家在画面中一直持续运动,网络连接稳定后,不同C端的玩家位置不一致
|
// 最大的问题:丢包后如何处理?比如其他玩家按下按键后,自己没有接收到松开消息,导致其他玩家在画面中一直持续运动,网络连接稳定后,不同C端的玩家位置不一致
|
||||||
|
|
Loading…
Reference in New Issue