Advertisement
Advertisement
| 04.27.2008 at 10:28PM PDT, ID: 23357839 |
|
[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: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: |
//GUI CLIENT
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
public class Client extends JFrame {
private static final long serialVersionUID = -3054541431624115776L;
private Socket clientSocket;
static MyBoard myBoard;
public Container contentPane;
public PrintWriter outToServer;
public DataInputStream inFromServer;
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);
//myBoard.setTile(1,2,2,"Images/Cool1.jpg");
//GUIBoard.setCurrentTileID(1);
/*int idmap = 1;
for(int a=0;a<.mapHeight;a++)
{
for(int b=0;b<s.mapWidth;b++)
{
switch(s.map[a][b])
{
case LODServer.HEALTH : content = 'H'; break;
case LODServer.LANTERN : content = 'L'; break;
case LODServer.SWORD : content = 'S'; break;
case LODServer.ARMOUR : content = 'A'; break;
case LODServer.EXIT : content = 'E'; break;
case LODServer.WALL : content = '#'; break;
case LODServer.EMPTY : myBoard.setTile(++idmap,b,a,"Images/floor.jpg"); break;
case LODServer.HEALTH : myBoard.setTile(++idmap,b,a,"Images/health.jpg"); break;
case LODServer.LANTERN : myBoard.setTile(++idmap,b,a,"Images/lantern.jpg"); break;
case LODServer.SWORD : myBoard.setTile(++idmap,b,a,"Images/sword.jpg"); break;
case LODServer.ARMOUR : myBoard.setTile(++idmap,b,a,"Images/armour.jpg"); break;
case LODServer.EXIT : myBoard.setTile(++idmap,b,a,"Images/exit.jpg");
GUIBoard.INERT_TILE_ID = idmap;
break;
case LODServer.WALL : myBoard.setTile(++idmap,b,a,"Images/wall.jpg"); break;
case LODServer.TREASURE : myBoard.setTile(++idmap,b,a,"Images/gold.jpg"); break;
}
if(s.map[a][b] > 0)
{
myBoard.setTile(++idmap,b,a,"Images/floor.jpg"); break;
}
}
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());
PrintWriter outToServer = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
outToServer.println("LOOK");
DataInputStream inFromServer = new DataInputStream(clientSocket.getInputStream());
while (inFromServer != null){
String response = inFromServer.readLine();
System.out.println(response);
JOptionPane.showMessageDialog(this, response);
}
setVisible(true);
}//end of constructor
public char[][] look()
{
sendCommand("LOOK");
char[][] lookResponse = new char[5][];
DataInputStream into;
for (int i=0; i<5; i++) {
lookResponse[i] = into.readLine().getBytes();
}
return lookResponse;
}
private void sendCommand(String LOOK) {
PrintWriter outToServer = null;
outToServer.println("LOOK");
}
public static void main(String[] args) throws UnknownHostException, IOException, InterruptedException {
new Client();
}
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) {
}
}
}
}
}
|