From 7459016fb4b7aeaa5fa772ac28468880a82cc56f Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 14 Nov 2018 19:08:27 +0800 Subject: [PATCH] Robot landlord elect dev --- ...ventListener_CODE_GAME_LANDLORD_ELECT.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/landlords-server/src/main/java/org/nico/ratel/landlords/server/robot/RobotEventListener_CODE_GAME_LANDLORD_ELECT.java b/landlords-server/src/main/java/org/nico/ratel/landlords/server/robot/RobotEventListener_CODE_GAME_LANDLORD_ELECT.java index b2987c2..b19bcef 100644 --- a/landlords-server/src/main/java/org/nico/ratel/landlords/server/robot/RobotEventListener_CODE_GAME_LANDLORD_ELECT.java +++ b/landlords-server/src/main/java/org/nico/ratel/landlords/server/robot/RobotEventListener_CODE_GAME_LANDLORD_ELECT.java @@ -1,12 +1,39 @@ package org.nico.ratel.landlords.server.robot; +import java.util.Map; + +import org.nico.ratel.landlords.client.SimpleClient; import org.nico.ratel.landlords.entity.ClientSide; +import org.nico.ratel.landlords.enums.ServerEventCode; +import org.nico.ratel.landlords.helper.MapHelper; +import org.nico.ratel.landlords.print.SimplePrinter; +import org.nico.ratel.landlords.print.SimpleWriter; public class RobotEventListener_CODE_GAME_LANDLORD_ELECT implements RobotEventListener{ @Override public void call(ClientSide player, ClientSide robot, String data) { + Map map = MapHelper.parser(data); + int turnClientId = (int) map.get("nextClientId"); + + if(turnClientId == robot.getId()) { + SimplePrinter.printNotice("It's your turn. Do you want to rob the landlord? [Y/N] (enter [EXIT] to exit current room)"); + String line = SimpleWriter.write("Y/N"); + if(line.equalsIgnoreCase("EXIT")) { + pushToServer(channel, ServerEventCode.CODE_CLIENT_EXIT); + }else if(line.equalsIgnoreCase("Y")){ + pushToServer(channel, ServerEventCode.CODE_GAME_LANDLORD_ELECT, "TRUE"); + }else if(line.equalsIgnoreCase("N")){ + pushToServer(channel, ServerEventCode.CODE_GAME_LANDLORD_ELECT, "FALSE"); + }else{ + SimplePrinter.printNotice("Invalid options"); + call(channel, data); + } + }else { + SimplePrinter.printNotice("It's " + map.get("nextClientNickname") + "'s turn. Please wait patiently for his/her confirmation !"); + } + } }