Advertisement
Advertisement
| 04.28.2008 at 02:46AM PDT, ID: 23358176 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: |
public class Client extends JFrame {
private static final long serialVersionUID = -3054541431624115776L;
private Socket clientSocket;
static MyBoard myBoard;
public Container contentPane;
ServerConnection newConn = new ServerConnection();
public Client() throws UnknownHostException, IOException {
setTitle("Labyrinth");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
String hostname = "localhost";
int portNumber = 4455;
//clientSocket = new Socket(hostname, portNumber);
setSize(900,800);
myBoard = new MyBoard("Images/Blank.jpg",10,10,10,10, 60,60);
myBoard.setNoOfTiles(10000); // Total number of tiles
contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
JScrollPane jsp = new JScrollPane(myBoard);
contentPane.add("Center", jsp);
//Buttons
JButton goUpButton = new JButton("Up");
JButton goDownButton = new JButton("Down");
JButton goLeftButton = new JButton("Left");
JButton goRightButton = new JButton("Right");
//ActionListener for buttons
goUpButton.addActionListener(myBoard);
goDownButton.addActionListener(myBoard);
goLeftButton.addActionListener(myBoard);
goRightButton.addActionListener(myBoard);
contentPane.add("West",goLeftButton);
contentPane.add("East",goRightButton);
contentPane.add("North",goUpButton);
contentPane.add("South", goDownButton);
setVisible(true);
newConn.connect(hostname, portNumber);
char[][] lookResponse = newConn.look();
int mapHeight = lookResponse.length;
int idmap = 1;
for(int a=0;a<mapHeight;a++)
{
for(int b=0;b<lookResponse[a].length;b++)
{
switch(lookResponse[a][b])
{
case 'X': myBoard.setTile(++idmap,b,a,"Images/questionmark.jpg") ; break;
case '#': myBoard.setTile(++idmap,b,a,"Images/wall.jpg") ; break;
case '.': myBoard.setTile(++idmap,b,a,"Images/floor.jpg") ; break;
case 'E': myBoard.setTile(++idmap,b,a,"Images/exit.jpg") ; break;
case 'G': myBoard.setTile(++idmap,b,a,"Images/gold.jpg") ; break;
case 'H': myBoard.setTile(++idmap,b,a,"Images/health.jpg"); break;
case 'S': myBoard.setTile(++idmap,b,a,"Images/sword.jpg") ; break;
case 'A': myBoard.setTile(++idmap,b,a,"Images/armour.jpg"); break;
case 'L': myBoard.setTile(++idmap,b,a,"Images/lantern.jpg"); break;
case 'P': myBoard.setTile(++idmap,b,a,"Images/player.jpg") ; break;
}
repaint();
}
repaint();
}
repaint();
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("File");
JMenu sendCommand = new JMenu("Command");
menuBar.add(fileMenu);
menuBar.add(sendCommand);
JMenuItem openAction = new JMenuItem("Load new map");
JMenuItem exitAction = new JMenuItem("Exit");
JMenuItem sendcmd = new JMenuItem("Send command");
setVisible(true);
sendCommand.add(sendcmd);
fileMenu.add(openAction);
fileMenu.addSeparator();
fileMenu.add(exitAction);
openAction.setActionCommand("open");
openAction.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
}});
exitAction.setActionCommand("exit");
exitAction.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}});
sendcmd.setActionCommand("sendcmd");
sendcmd.addActionListener(new DialogSender());
setVisible(true);
}//end of constructor
public static void main(String[] args){
try {
new Client();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
class DialogSender implements ActionListener {
public void actionPerformed(ActionEvent ae) {
PrintWriter outToServer = null;
try {
outToServer = new PrintWriter(new OutputStreamWriter(
clientSocket.getOutputStream()));
String sentence = JOptionPane.showInputDialog("Send a command:");
if (sentence!=null && sentence.trim().length()>0){
/* send the sentence to the server */
outToServer.println(sentence);
}
outToServer.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
} catch (Exception e) {
}
}
}
}
}
|