Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Client {
- public static void cli_main(int port, String servername) throws IOException {
- Socket echoSocket = null;
- PrintWriter out = null;
- BufferedReader in = null;
- //init connection
- try {
- echoSocket = new Socket(servername, port);
- out = new PrintWriter(echoSocket.getOutputStream(), true);
- in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
- } catch (UnknownHostException e) {
- System.err.println("Unknown host: " + servername);
- System.exit(1);
- } catch (IOException e) {
- System.err.println("Couldn't get I/O for " + servername);
- System.exit(1);
- }
- int code = 0, nameStart = 0, nameEnd = 0, x = 0, y = 0, pX = 0, pY = 0;
- String osloveni = "Oslovuj mne ", request = "", response = "", name = "";
- while (echoSocket.isConnected() && !(code == 260 || code == 530 || code == 550 || code == 571 || code == 572)) {
- response = "";
- while (!response.endsWith("\r\n")) {
- response += (char) in.read();
- }
- //print response
- System.out.print("Receiving: " + response);
- code = Integer.parseInt(response.substring(0, 3));
- if (code == 210) {//initial communication
- nameStart = response.indexOf(osloveni) + osloveni.length();
- nameEnd = response.indexOf(".", nameStart);
- name = response.substring(nameStart, nameEnd);
- System.out.println("Parsed name: " + name);
- request = name + " VLEVO\r\n";
- }
- if (code == 580) { //processor damaged
- request = name + " OPRAVIT "
- + response.substring(response.length() - 3, response.length() - 2) //proc number
- + "\r\n";
- }
- if (code == 240) { //OK, bot is ready
- //AI goes here
- x = Integer.parseInt(response.substring(response.indexOf("(") + 1, response.indexOf(",")));
- y = Integer.parseInt(response.substring(response.indexOf(",") + 1, response.indexOf(")")));
- if (Math.abs(y) < Math.abs(pY) || Math.abs(x) < Math.abs(pX)) { //i am closer than last time
- request = name + " KROK\r\n";
- } else {
- request = name + " VLEVO\r\n"; //last time i went wrong
- }
- if (x == 0 && y == 1) {
- request = name + " VLEVO\r\n";
- }
- if (x == 0 && y == 0) { //im done
- request = name + " ZVEDNI\r\n";
- }
- if (x == pX && y == pY) { //no move last time
- request = name + " KROK\r\n";
- }
- }
- if (code != 260) {
- pX = x;
- pY = y;
- out.print(request); //send request to server
- out.flush(); //flush after each message
- System.out.println("sending: " + request);
- }
- }
- //end transmision
- System.out.println("\nConnection closed by foreign host: " + echoSocket.getInetAddress() + "\n");
- out.close();
- in.close();
- echoSocket.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment