[Commit] RRClient ChangeLog, 1.3, 1.4 RRBoard.java, 1.10, 1.11 RRBoardPanel.java, 1.10, 1.11 RRClient.java, 1.16, 1.17 RRImages.java, 1.7, 1.8 RRNetIn.java, 1.6, 1.7 RRNetOut.java, 1.4, 1.5

Keith Packard commit at keithp.com
Thu Jan 8 01:24:31 PST 2004


Committed by: keithp

Update of /local/src/CVS/RRClient
In directory home.keithp.com:/tmp/cvs-serv389

Modified Files:
	ChangeLog RRBoard.java RRBoardPanel.java RRClient.java 
	RRImages.java RRNetIn.java RRNetOut.java 
Log Message:
	* RRBoard.java: (RRBoard.empty), (RRBoard), (RRBoard.RRBoard):
	Add empty method to reset board before loading new data
	
	* RRBoardPanel.java: (RRBoardPanel.paintComponent):
	Add even/odd blank tiles to match original game

	* RRClient.java: (RRClient.main):
	Rename Zap Timer to No Bid
	Add Pass and Abandon buttons
	Shrink messages by a line so the window fits my screen with 32x32 tiles.
	Add raw command output (with /)
	Change default dimensions to create window with 32x32 tiles

	* RRImages.java: (RRImages), (RRImages.....RRImages),
	(RRImages.....getBlankImage), (RRImages.....getColoredBlankImage):
	Add even/odd blank tiles.  Eliminate color shading.
	
	* RRNetIn.java: (RRNetIn.ShowHandler.match),
	(RRNetIn.BoardHandler), (RRNetIn.BoardHandler.match), (RRNetIn):
	Reset board to blank when parsing show/notice board data
	* RRNetOut.java: (RRNetOut.), (RRNetOut..raw):
	Add raw command output (with /)
	
	* images/blank-even.svg:
	* images/blank-odd.svg:
	* images/robot-blue.png:
	* images/robot-blue.svg:
	* images/robot-green.png:
	* images/robot-green.svg:
	* images/robot-red.png:
	* images/robot-red.svg:
	* images/robot-yellow.png:
	* images/robot-yellow.svg:
	* images/target-blue-circle.png:
	* images/target-blue-circle.svg:
	* images/target-blue-square.png:
	* images/target-blue-square.svg:
	* images/target-blue-star.png:
	* images/target-blue-star.svg:
	* images/target-blue-triangle.png:
	* images/target-blue-triangle.svg:
	* images/target-green-circle.png:
	* images/target-green-circle.svg:
	* images/target-green-square.png:
	* images/target-green-square.svg:
	* images/target-green-star.png:
	* images/target-green-star.svg:
	* images/target-green-triangle.png:
	* images/target-green-triangle.svg:
	* images/target-red-circle.png:
	* images/target-red-circle.svg:
	* images/target-red-square.png:
	* images/target-red-square.svg:
	* images/target-red-star.png:
	* images/target-red-star.svg:
	* images/target-red-triangle.png:
	* images/target-red-triangle.svg:
	* images/target-whirlpool.png:
	* images/target-whirlpool.svg:
	* images/target-yellow-circle.png:
	* images/target-yellow-circle.svg:
	* images/target-yellow-square.png:
	* images/target-yellow-square.svg:
	* images/target-yellow-star.png:
	* images/target-yellow-star.svg:
	* images/target-yellow-triangle.png:
	* images/target-yellow-triangle.svg:
	Add svg sources.  Update png to match Richards new svgs


Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/RRClient/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog	8 Jan 2004 06:14:13 -0000	1.3
+++ ChangeLog	8 Jan 2004 09:24:28 -0000	1.4
@@ -1,3 +1,74 @@
+2004-01-08  Keith Packard  <keithp at keithp.com>
+
+	* RRBoard.java: (RRBoard.empty), (RRBoard), (RRBoard.RRBoard):
+	Add empty method to reset board before loading new data
+	
+	* RRBoardPanel.java: (RRBoardPanel.paintComponent):
+	Add even/odd blank tiles to match original game
+
+	* RRClient.java: (RRClient.main):
+	Rename Zap Timer to No Bid
+	Add Pass and Abandon buttons
+	Shrink messages by a line so the window fits my screen with 32x32 tiles.
+	Add raw command output (with /)
+	Change default dimensions to create window with 32x32 tiles
+
+	* RRImages.java: (RRImages), (RRImages.....RRImages),
+	(RRImages.....getBlankImage), (RRImages.....getColoredBlankImage):
+	Add even/odd blank tiles.  Eliminate color shading.
+	
+	* RRNetIn.java: (RRNetIn.ShowHandler.match),
+	(RRNetIn.BoardHandler), (RRNetIn.BoardHandler.match), (RRNetIn):
+	Reset board to blank when parsing show/notice board data
+	* RRNetOut.java: (RRNetOut.), (RRNetOut..raw):
+	Add raw command output (with /)
+	
+	* images/blank-even.svg:
+	* images/blank-odd.svg:
+	* images/robot-blue.png:
+	* images/robot-blue.svg:
+	* images/robot-green.png:
+	* images/robot-green.svg:
+	* images/robot-red.png:
+	* images/robot-red.svg:
+	* images/robot-yellow.png:
+	* images/robot-yellow.svg:
+	* images/target-blue-circle.png:
+	* images/target-blue-circle.svg:
+	* images/target-blue-square.png:
+	* images/target-blue-square.svg:
+	* images/target-blue-star.png:
+	* images/target-blue-star.svg:
+	* images/target-blue-triangle.png:
+	* images/target-blue-triangle.svg:
+	* images/target-green-circle.png:
+	* images/target-green-circle.svg:
+	* images/target-green-square.png:
+	* images/target-green-square.svg:
+	* images/target-green-star.png:
+	* images/target-green-star.svg:
+	* images/target-green-triangle.png:
+	* images/target-green-triangle.svg:
+	* images/target-red-circle.png:
+	* images/target-red-circle.svg:
+	* images/target-red-square.png:
+	* images/target-red-square.svg:
+	* images/target-red-star.png:
+	* images/target-red-star.svg:
+	* images/target-red-triangle.png:
+	* images/target-red-triangle.svg:
+	* images/target-whirlpool.png:
+	* images/target-whirlpool.svg:
+	* images/target-yellow-circle.png:
+	* images/target-yellow-circle.svg:
+	* images/target-yellow-square.png:
+	* images/target-yellow-square.svg:
+	* images/target-yellow-star.png:
+	* images/target-yellow-star.svg:
+	* images/target-yellow-triangle.png:
+	* images/target-yellow-triangle.svg:
+	Add svg sources.  Update png to match Richards new svgs
+
 2004-01-07  Keith Packard  <keithp at keithp.com>
 
 	* RRClient.java: (RRClient.main):

Index: RRBoard.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRBoard.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- RRBoard.java	8 Jan 2004 05:17:27 -0000	1.10
+++ RRBoard.java	8 Jan 2004 09:24:28 -0000	1.11
@@ -18,12 +18,16 @@
     boolean active = false;
     public String playerName = null;
 
-    public RRBoard(RRController ctl, String player_name) {
-	this.ctl = ctl;
-	this.playerName = player_name;
+    public void empty () {
 	for (int row = 0; row < dim; row++)
 	    for (int col = 0; col < dim; col++)
 		squares[row][col] = new RRSquare();
+    }
+
+    public RRBoard(RRController ctl, String player_name) {
+	this.ctl = ctl;
+	this.playerName = player_name;
+	this.empty ();
 	for (int i = 0; i < dim; i++) {
 	    squares[0][i].setWall(0);
 	    squares[i][dim - 1].setWall(1);

Index: RRBoardPanel.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRBoardPanel.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- RRBoardPanel.java	15 Jun 2003 01:36:11 -0000	1.10
+++ RRBoardPanel.java	8 Jan 2004 09:24:28 -0000	1.11
@@ -94,16 +94,16 @@
 	int idrow = floor(drow + 1);
 
 	/* draw floor */
-	Image blank_img = ctl.images.getBlankImage();
         for (int row = 0; row < dim; row++) {
             for (int col = 0; col < dim; col++) {
 		int xdcol = floor(col * dcol);
 		int ydrow = floor(row * drow);
-		Image blank = blank_img;
+		Image blank = ctl.images.getBlankImage(col, row);
 		RRSquare s = ctl.board.getSquare(row, col);
 		if (s.isPrimaryTarget()) {
 		    int target = s.getTarget();
-		    blank = ctl.images.getColoredBlankImage(target / 4);
+		    blank = ctl.images.getColoredBlankImage(target / 4, 
+							    col, row);
 		}
 		g.drawImage(blank, xdcol, ydrow, idcol, idrow, this);
 	    }

Index: RRClient.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRClient.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- RRClient.java	8 Jan 2004 06:14:13 -0000	1.16
+++ RRClient.java	8 Jan 2004 09:24:28 -0000	1.17
@@ -98,11 +98,37 @@
 	}
 	ZapListener zap_listener = new ZapListener();
 	
-	Button zapButton = new Button ("Zap Timer");
+	Button zapButton = new Button ("No Bid");
 	zapButton.addActionListener (zap_listener);
 	
 	buttonPanel.add(zapButton);
 	
+	/* Pass button */
+	class PassListener implements ActionListener {
+	    public void actionPerformed (ActionEvent e) {
+		ctl.netout.pass ();
+	    }
+	}
+	PassListener pass_listener = new PassListener();
+	
+	Button passButton = new Button ("Pass");
+	passButton.addActionListener (pass_listener);
+	
+	buttonPanel.add(passButton);
+	
+	/* Abandon button */
+	class AbandonListener implements ActionListener {
+	    public void actionPerformed (ActionEvent e) {
+		ctl.netout.abandon ();
+	    }
+	}
+	AbandonListener abandon_listener = new AbandonListener();
+	
+	Button abandonButton = new Button ("Abandon");
+	abandonButton.addActionListener (abandon_listener);
+	
+	buttonPanel.add(abandonButton);
+	
 	/* Quit button */
 	class QuitListener implements ActionListener {
 	    public void actionPerformed (ActionEvent e) {
@@ -117,7 +143,7 @@
 	buttonPanel.add(quitButton);
 	
 	/* Message Display */
-	ctl.messages = new RRMessages (10, 30);
+	ctl.messages = new RRMessages (9, 30);
 	ctl.messages.setEditable (false);
 
 	/* Messages live below the board */
@@ -130,7 +156,11 @@
 	class MessageListener implements ActionListener {
 	    public void actionPerformed (ActionEvent e) {
 		TextField f = (TextField) e.getSource ();
-		ctl.netout.message (f.getText ());
+		String t = f.getText();
+		if (t.charAt(0) == '/')
+		    ctl.netout.raw (t.substring(1));
+		else
+		    ctl.netout.message (t);
 		f.setText ("");
 	    }
 	}
@@ -156,7 +186,7 @@
 
 	f.getContentPane().add(controlPanel, BorderLayout.EAST);
 
-        f.setSize(new Dimension(496, 556));
+        f.setSize(new Dimension(671, 767));
         f.setVisible(true);
 
 	ctl.netin.start();

Index: RRImages.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRImages.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- RRImages.java	9 Jun 2003 03:11:07 -0000	1.7
+++ RRImages.java	8 Jan 2004 09:24:28 -0000	1.8
@@ -64,11 +64,11 @@
     public static final int TRIANGLE = 2;
     public static final int STAR = 3;
 
-    Image blank_image;
+    Image[] blank_images = new Image[2];
     Image[] target_images = new Image[17];
     Image[] dim_target_images = new Image[17];
     Image[] robot_images = new Image[4];
-    Image[] colored_blank_images = new Image[5];
+    Image[][] colored_blank_images = new Image[5][2];
 
     RRTkProxy tkproxy;
 
@@ -80,11 +80,14 @@
     };
     String[] colornames = {"red", "yellow", "green", "blue"};
     String[] shapenames = {"circle", "square", "triangle", "star"};
+    String[] blanknames = {"even", "odd" };
 
     private RRImages(RRTkProxy tkproxy) {
         this.tkproxy = tkproxy;
-	/* get the floor tile */
-        blank_image = tkproxy.getImage("images/blank.png");
+	/* get the floor tiles */
+	for (int i = 0; i < 2; i++)
+	    blank_images[i] = tkproxy.getImage("images/blank-" + 
+					      blanknames[i] + ".png");
 	/* get the target symbols */
         for (int i = 0; i < 16; i++)
             target_images[i] =
@@ -93,7 +96,7 @@
                            shapenames[i % 4] + ".png");
         target_images[16] = tkproxy.getImage("images/target-whirlpool.png");
 	/* make dimmed versions of the target symbols */
-	ImageFilter dim_filter = new DimFilter(0.15);
+	ImageFilter dim_filter = new DimFilter(0.2);
 	for (int i = 0; i < 17; i++) {
 	    ImageProducer img = target_images[i].getSource();
 	    FilteredImageSource src =
@@ -114,12 +117,14 @@
 	    {small,big,small},
 	    {small,small,big},
 	    {small,small,small}};
-	ImageProducer s = blank_image.getSource();
-	for (int i = 0; i < 5; i++) {
-	    double[] fai = fa[i];
-	    RecolorFilter f = new RecolorFilter(fai[0], fai[1], fai[2]);
-	    FilteredImageSource src = new FilteredImageSource(s, f);
-	    colored_blank_images[i] = tkproxy.createImage(src);
+	for (int j = 0; j < 2; j++) {
+	    ImageProducer s = blank_images[j].getSource();
+	    for (int i = 0; i < 5; i++) {
+		double[] fai = fa[i];
+		RecolorFilter f = new RecolorFilter(fai[0], fai[1], fai[2]);
+		FilteredImageSource src = new FilteredImageSource(s, f);
+		colored_blank_images[i][j] = tkproxy.createImage(src);
+	    }
 	}
     }
 
@@ -131,8 +136,8 @@
         this(new RRTkProxy(applet));
     }
 
-    public Image getBlankImage() {
-	return blank_image;
+    public Image getBlankImage(int x, int y) {
+	return blank_images[(x + y) % 2];
     }
 
     public Image getTargetImage(int index, boolean primary) {
@@ -145,7 +150,8 @@
         return robot_images[index];
     }
 
-    public Image getColoredBlankImage(int index) {
-	return colored_blank_images[index];
+    public Image getColoredBlankImage(int index, int x, int y) {
+	return blank_images[(x + y) % 2];
+/*	return colored_blank_images[index][(x + y) % 2]; */
     }
 }

Index: RRNetIn.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRNetIn.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- RRNetIn.java	8 Jan 2004 06:14:13 -0000	1.6
+++ RRNetIn.java	8 Jan 2004 09:24:28 -0000	1.7
@@ -86,6 +86,7 @@
 	  throws IOException {
 	    if (notice.length != 2 || !notice[0].equals("SHOW"))
 		return false;
+	    ctl.board.empty ();
 	    ctl.board.become(notice[1]);
 	    ctl.boardPanel.repaint();
 	    return true;
@@ -221,6 +222,20 @@
 	}
     }
     
+    class BoardHandler implements NoticeHandler {
+	public boolean match(String[] notice)
+	  throws IOException {
+	    if (notice.length != 3 ||
+		!notice[0].equals("NOTICE") ||
+		!notice[1].equals("BOARD"))
+		return false;
+	    ctl.board.empty ();
+	    ctl.board.become(notice[2]);
+	    ctl.boardPanel.repaint();
+	    return true;
+	}
+    }
+    
     class DefaultHandler implements NoticeHandler {
 	public boolean match(String[] notice) {
 	    if (notice.length > 0)
@@ -247,6 +262,7 @@
 	new UserHandler (),
 	new JoinHandler(),
 	new PartHandler(),
+	new BoardHandler(),
 	new DefaultHandler()
     };
 
@@ -268,7 +284,7 @@
 		    if (handlers[i].match(notice))
 			break;
 		if (in.saw_eof)
-		    return;
+		    System.exit (0);
 	    }
 	} catch (IOException e) {
 	    System.err.println("I/O Exception in RRNetIn");

Index: RRNetOut.java
===================================================================
RCS file: /local/src/CVS/RRClient/RRNetOut.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- RRNetOut.java	8 Jan 2004 04:48:46 -0000	1.4
+++ RRNetOut.java	8 Jan 2004 09:24:28 -0000	1.5
@@ -130,4 +130,8 @@
 	uniprint (text);
 	out.println();
     }
+
+    public void raw (String text) {
+	out.println(text);
+    }
 }




More information about the Commit mailing list