First Create a project with these 3 class.
1.game.java
2.RmiClient.java
3.ReceiveMessageInterface.java
/**
For server side.....
Create project with 2 java class
1.ReceiveMessageInterface.java
2.RmiServer.java
1.game.java
2.RmiClient.java
3.ReceiveMessageInterface.java
/**
* @(#)game.java * * * @author sharma * @version 1.00 2011/5/5 */ import java.rmi.*; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.SwingConstants; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.Transparency; import javax.swing.event.*; import java.sql.*; import java.util.*; import java.net.URL; import javax.imageio.ImageIO; import java.lang.*; import java.io.*; import javax.swing.BoxLayout; public class game extends JFrame { RmiClient rm; JLabel name = new JLabel(); JPanel jPanel1 = new JPanel(); JLabel jLabel4 = new JLabel(); JLabel jLabel5 = new JLabel(); JLabel jLabel6 = new JLabel(); JLabel jLabel7 = new JLabel(); JLabel jLabel8 = new JLabel(); JTextField takip = new JTextField(); JTextField scor = new JTextField(); JButton sig = new JButton(); JButton close = new JButton(); // JButton l[] = new JButton(100); JButton l1 = new JButton(); JButton l2 = new JButton(); JButton l3 = new JButton(); JButton l4 = new JButton(); JButton l5 = new JButton(); JButton l6 = new JButton(); JButton l7 = new JButton(); JButton l8 = new JButton(); JButton l9 = new JButton(); JButton l10 = new JButton(); JButton l11 = new JButton(); JButton l12 = new JButton(); JButton l13 = new JButton(); JButton l14 = new JButton(); JButton l15 = new JButton(); JButton l16 = new JButton(); JButton l17 = new JButton(); JButton l18 = new JButton(); JButton l19 = new JButton(); JButton l20 = new JButton(); JButton l21 = new JButton(); JButton l22 = new JButton(); JButton l23 = new JButton(); JButton l24 = new JButton(); JButton l25 = new JButton(); JButton l26 = new JButton(); JButton l27 = new JButton(); JButton l28 = new JButton(); JButton l29 = new JButton(); JButton l30 = new JButton(); JButton l31 = new JButton(); JButton l32 = new JButton(); int real = 0; public game() { setTitle("Game"); setSize(600,453); setLocation(220,100); setUndecorated(true); getRootPane().setWindowDecorationStyle(JRootPane.FRAME); setVisible(true); jbinit(); } void jbinit() { this.setResizable(false); this.getContentPane().setLayout(null); takip.setText(""); takip.setFont(new java.awt.Font("Dialog", 1, 14)); takip.setBounds(new Rectangle(8, 18,184, 21)); sig.setText("Start"); sig.setBounds(new Rectangle(258, 18,106, 21)); sig.addActionListener(new st_actionAdapter(this)); close.setText("Reset"); close.setBounds(new Rectangle(408, 18,106, 21)); close.addActionListener(new cl_actionAdapter(this)); name.setText("Score :"); name.setFont(new java.awt.Font("Dialog", 1, 14)); name.setBounds(new Rectangle(258, 68,184, 21)); scor.setText(""); scor.setFont(new java.awt.Font("Dialog", 1, 14)); scor.setBounds(new Rectangle(320, 68,184, 21)); l1.setText("a"); l1.setFont(new java.awt.Font("Dialog", 1, 12)); l1.setBounds(new Rectangle(8,48,50,28)); l1.addActionListener(new but_actionAdapter(this)); l2.setText("b"); l2.setFont(new java.awt.Font("Dialog", 1, 12)); l2.setBounds(new Rectangle(58,48,50,28)); l2.addActionListener(new but_actionAdapter(this)); l3.setText("c"); l3.setFont(new java.awt.Font("Dialog", 1, 12)); l3.setBounds(new Rectangle(108,48,50,28)); l3.addActionListener(new but_actionAdapter(this)); l4.setText("d"); l4.setFont(new java.awt.Font("Dialog", 1, 12)); l4.setBounds(new Rectangle(158,48,50,28)); l4.addActionListener(new but_actionAdapter(this)); l5.setText("e"); l5.setFont(new java.awt.Font("Dialog", 1, 12)); l5.setBounds(new Rectangle(8,78,50,28)); l5.addActionListener(new but_actionAdapter(this)); l6.setText("f"); l6.setFont(new java.awt.Font("Dialog", 1, 12)); l6.setBounds(new Rectangle(58,78,50,28)); l6.addActionListener(new but_actionAdapter(this)); l7.setText("g"); l7.setFont(new java.awt.Font("Dialog", 1, 12)); l7.setBounds(new Rectangle(108,78,50,28)); l7.addActionListener(new but_actionAdapter(this)); l8.setText("h"); l8.setFont(new java.awt.Font("Dialog", 1, 12)); l8.setBounds(new Rectangle(158,78,50,28)); l8.addActionListener(new but_actionAdapter(this)); l9.setText("i"); l9.setFont(new java.awt.Font("Dialog", 1, 12)); l9.setBounds(new Rectangle(8,108,50,28)); l9.addActionListener(new but_actionAdapter(this)); l10.setText("j"); l10.setFont(new java.awt.Font("Dialog", 1, 12)); l10.setBounds(new Rectangle(58,108,50,28)); l10.addActionListener(new but_actionAdapter(this)); l11.setText("k"); l11.setFont(new java.awt.Font("Dialog", 1, 12)); l11.setBounds(new Rectangle(108,108,50,28)); l11.addActionListener(new but_actionAdapter(this)); l12.setText("l"); l12.setFont(new java.awt.Font("Dialog", 1, 12)); l12.setBounds(new Rectangle(158,108,50,28)); l12.addActionListener(new but_actionAdapter(this)); l13.setText("m"); l13.setFont(new java.awt.Font("Dialog", 1, 12)); l13.setBounds(new Rectangle(8,138,50,28)); l13.addActionListener(new but_actionAdapter(this)); l14.setText("n"); l14.setFont(new java.awt.Font("Dialog", 1, 12)); l14.setBounds(new Rectangle(58,138,50,28)); l14.addActionListener(new but_actionAdapter(this)); l15.setText("o"); l15.setFont(new java.awt.Font("Dialog", 1, 12)); l15.setBounds(new Rectangle(108,138,50,28)); l15.addActionListener(new but_actionAdapter(this)); l16.setText("p"); l16.setFont(new java.awt.Font("Dialog", 1, 12)); l16.setBounds(new Rectangle(158,138,50,28)); l16.addActionListener(new but_actionAdapter(this)); l17.setText("q"); l17.setFont(new java.awt.Font("Dialog", 1, 12)); l17.setBounds(new Rectangle(8,168,50,28)); l17.addActionListener(new but_actionAdapter(this)); l18.setText("r"); l18.setFont(new java.awt.Font("Dialog", 1, 12)); l18.setBounds(new Rectangle(58,168,50,28)); l18.addActionListener(new but_actionAdapter(this)); l19.setText("s"); l19.setFont(new java.awt.Font("Dialog", 1, 12)); l19.setBounds(new Rectangle(108,168,50,28)); l19.addActionListener(new but_actionAdapter(this)); l20.setText("t"); l20.setFont(new java.awt.Font("Dialog", 1, 12)); l20.setBounds(new Rectangle(158,168,50,28)); l20.addActionListener(new but_actionAdapter(this)); l21.setText("u"); l21.setFont(new java.awt.Font("Dialog", 1, 12)); l21.setBounds(new Rectangle(8,198,50,28)); l21.addActionListener(new but_actionAdapter(this)); l22.setText("v"); l22.setFont(new java.awt.Font("Dialog", 1, 12)); l22.setBounds(new Rectangle(58,198,50,28)); l22.addActionListener(new but_actionAdapter(this)); l23.setText("w"); l23.setFont(new java.awt.Font("Dialog", 1, 12)); l23.setBounds(new Rectangle(108,198,50,28)); l23.addActionListener(new but_actionAdapter(this)); l24.setText("x"); l24.setFont(new java.awt.Font("Dialog", 1, 12)); l24.setBounds(new Rectangle(158,198,50,28)); l24.addActionListener(new but_actionAdapter(this)); l25.setText("y"); l25.setFont(new java.awt.Font("Dialog", 1, 12)); l25.setBounds(new Rectangle(8,228,50,28)); l25.addActionListener(new but_actionAdapter(this)); l26.setText("z"); l26.setFont(new java.awt.Font("Dialog", 1, 12)); l26.setBounds(new Rectangle(58,228,50,28)); l26.addActionListener(new but_actionAdapter(this)); l27.setText("A"); l27.setFont(new java.awt.Font("Dialog", 1, 12)); l27.setBounds(new Rectangle(108,228,50,28)); l27.addActionListener(new but_actionAdapter(this)); l28.setText("B"); l28.setFont(new java.awt.Font("Dialog", 1, 12)); l28.setBounds(new Rectangle(158,228,50,28)); l28.addActionListener(new but_actionAdapter(this)); l29.setText("C"); l29.setFont(new java.awt.Font("Dialog", 1, 12)); l29.setBounds(new Rectangle(8,258,50,28)); l29.addActionListener(new but_actionAdapter(this)); l30.setText("D"); l30.setFont(new java.awt.Font("Dialog", 1, 12)); l30.setBounds(new Rectangle(58,258,50,28)); l30.addActionListener(new but_actionAdapter(this)); l31.setText("E"); l31.setFont(new java.awt.Font("Dialog", 1, 12)); l31.setBounds(new Rectangle(108,258,50,28)); l31.addActionListener(new but_actionAdapter(this)); l32.setText("F"); l32.setFont(new java.awt.Font("Dialog", 1, 12)); l32.setBounds(new Rectangle(158,258,50,28)); l32.addActionListener(new but_actionAdapter(this)); this.getContentPane().add(scor,null); this.getContentPane().add(name,null); this.getContentPane().add(takip,null); this.getContentPane().add(sig,null); this.getContentPane().add(close,null); this.getContentPane().add(l1,null); this.getContentPane().add(l2,null); this.getContentPane().add(l3,null); this.getContentPane().add(l4,null); this.getContentPane().add(l5,null); this.getContentPane().add(l6,null); this.getContentPane().add(l7,null); this.getContentPane().add(l8,null); this.getContentPane().add(l9,null); this.getContentPane().add(l10,null); this.getContentPane().add(l11,null); this.getContentPane().add(l12,null); this.getContentPane().add(l13,null); this.getContentPane().add(l14,null); this.getContentPane().add(l15,null); this.getContentPane().add(l16,null); this.getContentPane().add(l17,null); this.getContentPane().add(l18,null); this.getContentPane().add(l19,null); this.getContentPane().add(l20,null); this.getContentPane().add(l21,null); this.getContentPane().add(l22,null); this.getContentPane().add(l23,null); this.getContentPane().add(l24,null); this.getContentPane().add(l25,null); this.getContentPane().add(l26,null); this.getContentPane().add(l27,null); this.getContentPane().add(l28,null); this.getContentPane().add(l29,null); this.getContentPane().add(l30,null); this.getContentPane().add(l31,null); this.getContentPane().add(l32,null); } public static void main (String[] args) { game gm = new game(); } void clik_action(ActionEvent e) { System.out.println(""+e.getActionCommand()); //rm.all(e.getActionCommand()); String pc="",rp="",mp="",gp=""; int i,j=0,l=0; char c; mp += e.getActionCommand(); for(i=97;i<=122;i++) { rp = ""; c = (char)i; rp += c; l = i - 96; if(rp.equals(mp)) { j = 1; System.out.println(l+" "+rp); break; } } if(j != 1) for(i=65;i<=70;i++) { rp = ""; c = (char)i; rp += c; l = i - 38; if(rp.equals(mp)) { System.out.println(l+" "+rp); break; } } pc = Integer.toString(l); gp = rm.all(pc); if(gp.equals(":)")) { l1.setText(rm.all("1"));l2.setText(rm.all("2"));l3.setText(rm.all("3"));l4.setText(rm.all("4")); l5.setText(rm.all("5"));l6.setText(rm.all("6"));l7.setText(rm.all("7"));l8.setText(rm.all("8")); l9.setText(rm.all("9"));l10.setText(rm.all("10"));l11.setText(rm.all("11"));l12.setText(rm.all("12")); l13.setText(rm.all("13"));l14.setText(rm.all("14"));l15.setText(rm.all("15"));l16.setText(rm.all("16")); l17.setText(rm.all("17"));l18.setText(rm.all("18"));l19.setText(rm.all("19"));l20.setText(rm.all("20")); l21.setText(rm.all("21"));l22.setText(rm.all("22"));l23.setText(rm.all("23"));l24.setText(rm.all("24")); l25.setText(rm.all("25"));l26.setText(rm.all("26"));l27.setText(rm.all("27"));l28.setText(rm.all("28")); l29.setText(rm.all("29"));l30.setText(rm.all("30"));l31.setText(rm.all("31"));l32.setText(rm.all("32")); } if(l == 1){l1.setBackground(Color.cyan);l1.setText(gp);}if(l == 17){l17.setText(gp);setBackground(Color.cyan);} if(l == 2){l2.setBackground(Color.cyan);l2.setText(gp);}if(l == 18){l18.setBackground(Color.cyan);l18.setText(gp);} if(l == 3){l3.setBackground(Color.cyan);l3.setText(gp);}if(l == 19){l19.setText(gp);l19.setBackground(Color.cyan);} if(l == 4){l4.setBackground(Color.cyan);l4.setText(gp);}if(l == 20){l20.setBackground(Color.cyan);l20.setText(gp);} if(l == 5){l5.setBackground(Color.cyan);l5.setText(gp);}if(l == 21){l21.setBackground(Color.cyan);l21.setText(gp);} if(l == 6)l6.setText(gp);if(l == 22)l22.setText(gp); if(l == 7)l7.setText(gp);if(l == 23)l23.setText(gp); if(l == 8)l8.setText(gp);if(l == 24)l24.setText(gp); if(l == 9)l9.setText(gp);if(l == 25)l25.setText(gp); if(l == 10)l10.setText(gp);if(l == 26)l26.setText(gp); if(l == 11)l11.setText(gp);if(l == 27)l27.setText(gp); if(l == 12)l12.setText(gp);if(l == 28)l28.setText(gp); if(l == 13)l13.setText(gp);if(l == 29)l29.setText(gp); if(l == 14)l14.setText(gp);if(l == 30)l30.setText(gp); if(l == 15)l15.setText(gp);if(l == 31)l31.setText(gp); if(l == 16)l16.setText(gp);if(l == 32)l32.setText(gp); if(!gp.equals(":)")) { int m = Integer.parseInt(gp); String iq =""; real += m; iq = Integer.toString(real); scor.setText(iq); } if(gp.equals(":)")) { for(i=1;i<=32;i++) { // if() } scor.setText("You Lose!"); } //System.out.println(""+sp); } void st_action(ActionEvent e) { String st = ""; st = takip.getText(); System.out.println(""+st); rm = new RmiClient(st); } void cl_action(ActionEvent e) { try { rm.rmiServer.receiveMessage("Connect"); } catch(RemoteException ee) { } real = 0; l1.setText("a");l17.setText("q"); l2.setText("b");l18.setText("r"); l3.setText("c");l19.setText("s"); l4.setText("d");l20.setText("t"); l5.setText("e");l21.setText("u"); l6.setText("f");l22.setText("v"); l7.setText("g");l23.setText("w"); l8.setText("h");l24.setText("x"); l9.setText("i");l25.setText("y"); l10.setText("j");l26.setText("z"); l11.setText("k");l27.setText("A"); l12.setText("l");l28.setText("B"); l13.setText("m");l29.setText("C"); l14.setText("n");l30.setText("D"); l15.setText("o");l31.setText("E"); l16.setText("p");l32.setText("F"); scor.setText(""); } } class but_actionAdapter implements java.awt.event.ActionListener { game adaptee; but_actionAdapter(game adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.clik_action(e); } } class st_actionAdapter implements java.awt.event.ActionListener { game adaptee; st_actionAdapter(game adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.st_action(e); } } class cl_actionAdapter implements java.awt.event.ActionListener { game adaptee; cl_actionAdapter(game adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.cl_action(e); } }***********************************************************************************
import java.rmi.*; import java.rmi.registry.*; import java.net.*; import java.io.*; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JButton; import javax.swing.SwingConstants; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.Transparency; import javax.swing.event.*; import java.sql.*; import java.util.*; import java.net.URL; import javax.imageio.ImageIO; import java.lang.*; import javax.swing.BoxLayout; public class RmiClient { ReceiveMessageInterface rmiServer; Registry registry; String sp=""; String serverPort="8000"; String line="some thing"; public RmiClient(String serverAddress) { try { // get the “registry” registry=LocateRegistry.getRegistry(serverAddress,(new Integer(serverPort)).intValue()); // look up the remote object rmiServer =(ReceiveMessageInterface)(registry.lookup("rmiServer")); rmiServer.receiveMessage("Connect"); System.out.println("Connected to :"+serverAddress); } catch(RemoteException e){ e.printStackTrace(); } catch(NotBoundException e){ e.printStackTrace(); } } public String all(String gp) { try{ // call the remote method rmiServer.receiveMessage(gp); sp = rmiServer.sendMessage(); System.out.println("Sending :"+gp); System.out.println("From Server "+sp); } catch(RemoteException e){ e.printStackTrace(); } return sp; } }***********************************************************************************
import java.rmi.*; public interface ReceiveMessageInterface extends Remote { void receiveMessage(String x) throws RemoteException; public String sendMessage() throws RemoteException; }***********************************************************************************
For server side.....
Create project with 2 java class
1.ReceiveMessageInterface.java
2.RmiServer.java
import java.rmi.*; public interface ReceiveMessageInterface extends Remote { void receiveMessage(String x) throws RemoteException; public String sendMessage() throws RemoteException; }***********************************************************************************
import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; import java.net.*; import java.io.*; import java.util.Random; public class RmiServer extends java.rmi.server.UnicastRemoteObject implements ReceiveMessageInterface { int thisPort,c = 0,p=0; String thisAddress,st=""; Registry registry; // rmi registry for lookup the remote objects. char[][] input = new char[100][100]; int[][] val = new int[100][100]; Random generator = new Random(); // This method is called from the remote client by the RMI. // This is the implementation of the “ReceiveMessageInterface”. public void receiveMessage(String x) throws RemoteException { st = ""; System.out.println(x); if(x.equals("Connect")) { int i,j,k,l=0,mo,r=0,g; k = 2; mo = generator.nextInt( 7 ); for(i=0;i<8;i++) { ++r; g = mo % r; System.out.print(""+r); for(j=0;j<4;j++) { if(l == k+g) { l = 0; input[i][j] = '*'; } else { input[i][j] = '.'; } ++l; } } // calculate int p,xx,yy,v; int px[] = {-1,-1,-1,0,0,1,1,1}; int py[] = {0,1,-1,-1,1,-1,0,1}; for(i=0;i<8;i++) { for(j=0;j<4;j++) { if(input[i][j] == '.') { v = 0; for(p=0;p<8;p++) { xx = i + px[p]; yy = j + py[p]; if(xx >=0 && xx <= 8 && yy >=0 && yy <= 3) { if(input[xx][yy] == '*') { ++v; } } } val[i][j] = v; } if(input[i][j] == '*') { val[i][j] = -1; } } } } st += x; } public String sendMessage() throws RemoteException { int i,j,k; k = Integer.parseInt(st); k = k-1; j = k % 4; i = k/4; if(val[i][j] == -1) { st = ":)"; } else { st = Integer.toString(val[i][j]); } return st; } public RmiServer() throws RemoteException { try{ // get the address of this host. thisAddress= (InetAddress.getLocalHost()).toString(); } catch(Exception e){ throw new RemoteException("can't get inet address."); } thisPort=8000; // this port(registry’s port) System.out.println("this address="+thisAddress+",port="+thisPort); try{ // create the registry and bind the name and object. registry = LocateRegistry.createRegistry( thisPort ); registry.rebind("rmiServer", this); } catch(RemoteException e){ throw e; } } static public void main(String args[]) { try { RmiServer s=new RmiServer(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } } ***********************************************************************************
No comments:
Post a Comment