comparison game/Piece.java @ 34:6f6c551cc14c

Fix piece connections rendering.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 03 Feb 2011 20:37:34 +0200
parents e480579cc460
children 3dc5ae9f1c80
comparison
equal deleted inserted replaced
33:14f1abf53d8d 34:6f6c551cc14c
105 { 105 {
106 float ox = 0, oy = 0; 106 float ox = 0, oy = 0;
107 float step = dim / 10; 107 float step = dim / 10;
108 108
109 switch (index) { 109 switch (index) {
110 // Normal line starting and ending points
110 case 0: ox = 3.0f; oy = 0.4f; break; 111 case 0: ox = 3.0f; oy = 0.4f; break;
111 case 1: ox = 7.0f; oy = 0.4f; break; 112 case 1: ox = 7.0f; oy = 0.4f; break;
112 case 2: ox = 9.6f; oy = 3.0f; break; 113 case 2: ox = 9.6f; oy = 3.0f; break;
113 case 3: ox = 9.6f; oy = 7.0f; break; 114 case 3: ox = 9.6f; oy = 7.0f; break;
114 case 4: ox = 7.0f; oy = 9.6f; break; 115 case 4: ox = 7.0f; oy = 9.6f; break;
115 case 5: ox = 3.0f; oy = 9.6f; break; 116 case 5: ox = 3.0f; oy = 9.6f; break;
116 case 6: ox = 0.4f; oy = 7.0f; break; 117 case 6: ox = 0.4f; oy = 7.0f; break;
117 case 7: ox = 0.4f; oy = 3.0f; break; 118 case 7: ox = 0.4f; oy = 3.0f; break;
118 119
120 // Matching control points for each point above (+8)
119 case 8: ox = 3.0f; oy = 3.0f; break; 121 case 8: ox = 3.0f; oy = 3.0f; break;
120 case 9: ox = 7.0f; oy = 3.0f; break; 122 case 9: ox = 7.0f; oy = 3.0f; break;
121 case 10: ox = 7.0f; oy = 3.0f; break; 123 case 10: ox = 7.0f; oy = 3.0f; break;
122 case 11: ox = 7.0f; oy = 7.0f; break; 124 case 11: ox = 7.0f; oy = 7.0f; break;
123 case 12: ox = 7.0f; oy = 7.0f; break; 125 case 12: ox = 7.0f; oy = 7.0f; break;
124 case 13: ox = 7.0f; oy = 7.0f; break; 126 case 13: ox = 3.0f; oy = 7.0f; break;
125 case 14: ox = 3.0f; oy = 7.0f; break; 127 case 14: ox = 3.0f; oy = 7.0f; break;
126 case 15: ox = 3.0f; oy = 3.0f; break; 128 case 15: ox = 3.0f; oy = 3.0f; break;
127 } 129 }
128 130
129 return new Point2D.Float(x + ox * step, y + oy * step); 131 return new Point2D.Float(x + ox * step, y + oy * step);
200 case START: g.setPaint(Color.orange); break; 202 case START: g.setPaint(Color.orange); break;
201 } 203 }
202 204
203 g.fill(new RoundRectangle2D.Float(x, y, dim, dim, dim / 10, dim / 10)); 205 g.fill(new RoundRectangle2D.Float(x, y, dim, dim, dim / 10, dim / 10));
204 206
205 g.setPaint(Color.black);
206 g.setStroke(new BasicStroke(5.0f));
207 g.draw(new RoundRectangle2D.Float(x, y, dim, dim, dim / 10, dim / 10));
208 207
209 if (type == PieceType.START) 208 if (type == PieceType.START)
210 return; 209 return;
211 210
212 if (type == PieceType.ACTIVE) 211 if (type == PieceType.ACTIVE)
241 g.draw(c); 240 g.draw(c);
242 241
243 drawn[i] = true; 242 drawn[i] = true;
244 drawn[connections[i]] = true; 243 drawn[connections[i]] = true;
245 } 244 }
245
246 g.setPaint(Color.black);
247 g.setStroke(new BasicStroke(5.0f));
248 g.draw(new RoundRectangle2D.Float(x, y, dim, dim, dim / 10, dim / 10));
246 } 249 }
247 } 250 }