This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
breakthroughpine64backup/Client.java

85 lines
2.5 KiB
Java
Raw Normal View History

2015-10-28 15:08:07 -05:00
// Alex Huddleston
// Breakthrough Client in Java
import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.io.DataInputStream;
2015-10-28 15:48:29 -05:00
import java.util.Arrays;
2015-10-29 09:40:51 -05:00
import javax.swing.*;
import javax.swing.text.html.parser.ParserDelegator;
2015-10-28 15:08:07 -05:00
public class Client {
2015-10-29 09:40:51 -05:00
2015-10-28 15:08:07 -05:00
public static void main (String[] args) {
Scanner keyboard = new Scanner(System.in);
String hostname = args[0];
int portnum = Integer.parseInt(args[1]);
//keyboard.nextLine(); // used to buffer out extra space.
2015-10-29 09:40:51 -05:00
ParserDelegator parserDelegator = new ParserDelegator();
//System.out.println("parserDelegator set: "+ parserDelegator);
JFrame frame = new JFrame("Breakthrough");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
//frame.pack();
frame.setVisible(true);
2015-10-28 15:08:07 -05:00
try {
Socket echoSocket = new Socket(hostname, portnum);
PrintWriter output = new PrintWriter(echoSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
2015-10-29 09:40:51 -05:00
String userInput = "test";
2015-10-28 15:08:07 -05:00
char[] b = new char[256];
in.read(b, 0, 256);
2015-10-29 09:40:51 -05:00
String temp = "<html><b>" + String.valueOf(b).replace("\n", "<br>").trim() + "</b></html>";
JLabel label = new JLabel("<html>testing<html>");
frame.getContentPane().add(label);
System.out.print(b);
String g = "GAME OVER";
char[] go = new char[9];
for(int x = 0; x < go.length; ++x) {
go[x] = g.charAt(x);
}
boolean end = false;
int c = 0;
while(!end && (userInput != null)) {
userInput = stdIn.readLine();
2015-10-28 15:08:07 -05:00
output.println(userInput);
output.flush();
char[] buffer = new char[256];
in.read(buffer, 0, 256);
2015-10-29 09:40:51 -05:00
JLabel display = new JLabel(Arrays.toString(buffer));
if(c == 0) {
frame.getContentPane().remove(label);
++c;
}
else {
frame.getContentPane().remove(display);
}
frame.getContentPane().add(display);
for(int i = 0; i < buffer.length; ++i) {
if(Arrays.equals(Arrays.copyOfRange(buffer, i, i+9), go)) {
end = true;
2015-10-28 15:48:29 -05:00
}
}
2015-10-28 15:08:07 -05:00
}
2015-10-28 15:48:29 -05:00
output.close();
in.close();
stdIn.close();
echoSocket.close();
2015-10-28 15:08:07 -05:00
}
catch (IOException e){
System.err.println("IOException: " + e.getMessage());
}
}
}