添加当前棋子标识
parent
5fb38f50ed
commit
50ced7a834
|
@ -4,26 +4,10 @@ import top.dreamcenter.go.msg.Cross;
|
||||||
|
|
||||||
public class DataUtil {
|
public class DataUtil {
|
||||||
|
|
||||||
public static String parseData(Cross[][] map){
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (int i = 0; i < map.length; i++) {
|
|
||||||
for (int j = 0; j < map.length; j++) {
|
|
||||||
sb.append(i).append(j);
|
|
||||||
if (map[i][j] == Cross.NONE) {
|
|
||||||
sb.append(0);
|
|
||||||
} else if (map[i][j] == Cross.BLACK) {
|
|
||||||
sb.append(1);
|
|
||||||
} else {
|
|
||||||
sb.append(2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Cross[][] rawData(String data){
|
public static Cross[][] rawData(String data){
|
||||||
Cross[][] cross = new Cross[9][9];
|
Cross[][] cross = new Cross[9][9];
|
||||||
Cross[] colors = new Cross[]{Cross.NONE, Cross.BLACK, Cross.WHITE};
|
Cross[] colors = new Cross[]{Cross.NONE, Cross.BLACK, Cross.WHITE, Cross.BLACK_CUR, Cross.WHITE_CUR};
|
||||||
for (int i = 0; i < data.length(); ) {
|
for (int i = 0; i < data.length(); ) {
|
||||||
int row = data.charAt(i) - '0';
|
int row = data.charAt(i) - '0';
|
||||||
int col = data.charAt(i + 1) - '0';
|
int col = data.charAt(i + 1) - '0';
|
||||||
|
|
|
@ -139,7 +139,23 @@ public class MainFrame extends JFrame {
|
||||||
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 1);
|
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 1);
|
||||||
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 2);
|
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cross == Cross.BLACK_CUR) {
|
||||||
|
fillOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2);
|
||||||
|
drawPlus(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM>>2, Color.WHITE);
|
||||||
|
}
|
||||||
|
if (cross == Cross.WHITE_CUR) {
|
||||||
|
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 1);
|
||||||
|
drawOval(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM / 2 - 2);
|
||||||
|
drawPlus(g, col * BASE_FROM , row * BASE_FROM + BASE_HEIGHT, BASE_FROM>>2, Color.BLACK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void drawPlus(Graphics g, int cx, int cy, int r, Color color){
|
||||||
|
g.setColor(color);
|
||||||
|
g.fillRect(cx- r, cy - 1, r * 2 + 1, 3);
|
||||||
|
g.fillRect(cx - 1, cy - r, 3, r * 2 + 1);
|
||||||
|
g.setColor(Color.BLACK);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package top.dreamcenter.go.msg;
|
package top.dreamcenter.go.msg;
|
||||||
|
|
||||||
public enum Cross {
|
public enum Cross {
|
||||||
NONE, BLACK, WHITE
|
NONE, BLACK, WHITE,
|
||||||
|
|
||||||
|
BLACK_CUR, WHITE_CUR
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,32 @@
|
||||||
package top.dreamcenter.go.server;
|
package top.dreamcenter.go.server;
|
||||||
|
|
||||||
import top.dreamcenter.go.msg.Cross;
|
import top.dreamcenter.go.msg.Cross;
|
||||||
|
import top.dreamcenter.go.msg.NewClick;
|
||||||
|
|
||||||
public class DataUtil {
|
public class DataUtil {
|
||||||
|
|
||||||
public static String parseData(Cross[][] map){
|
public static String parseData(Cross[][] map, NewClick newClick){
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < map.length; i++) {
|
for (int i = 0; i < map.length; i++) {
|
||||||
for (int j = 0; j < map.length; j++) {
|
for (int j = 0; j < map.length; j++) {
|
||||||
|
|
||||||
|
int magnification = 1;
|
||||||
|
|
||||||
|
if (i == newClick.pos.k - 1 && j == newClick.pos.v - 1) magnification = 3;
|
||||||
|
|
||||||
sb.append(i).append(j);
|
sb.append(i).append(j);
|
||||||
if (map[i][j] == Cross.NONE) {
|
if (map[i][j] == Cross.NONE) {
|
||||||
sb.append(0);
|
sb.append(0);
|
||||||
} else if (map[i][j] == Cross.BLACK) {
|
} else if (map[i][j] == Cross.BLACK) {
|
||||||
sb.append(1);
|
sb.append(magnification); // 1 3
|
||||||
} else {
|
} else {
|
||||||
sb.append(2);
|
sb.append(magnification+1); // 2 4
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Cross[][] rawData(String data){
|
|
||||||
Cross[][] cross = new Cross[9][9];
|
|
||||||
Cross[] colors = new Cross[]{Cross.NONE, Cross.BLACK, Cross.WHITE};
|
|
||||||
for (int i = 0; i < data.length();) {
|
|
||||||
int row = data.charAt(i) - '0';
|
|
||||||
int col = data.charAt(i + 1) - '0';
|
|
||||||
Cross color = colors[data.charAt(i + 2) - '0'];
|
|
||||||
cross[row][col] = color;
|
|
||||||
i += 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
return cross;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class UserThread extends Thread{
|
||||||
|
|
||||||
users.forEach(u -> {
|
users.forEach(u -> {
|
||||||
try {
|
try {
|
||||||
if (u.isAlive) u.sendMsg(DataUtil.parseData(map));
|
if (u.isAlive) u.sendMsg(DataUtil.parseData(map, newClick));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue