<分区>
我要创建六边形游戏,我需要创建一个六边形棋盘... 我需要画一个有 61 个六边形的板,所以我需要一个简短的六边形公式,如果有人能给我一个公式来快速创建它,我会很高兴 :) 谢谢波阿斯
我正在用 java 编程......
棋盘需要有61个六边形...
标签 algorithm
<分区>
我要创建六边形游戏,我需要创建一个六边形棋盘... 我需要画一个有 61 个六边形的板,所以我需要一个简短的六边形公式,如果有人能给我一个公式来快速创建它,我会很高兴 :) 谢谢波阿斯
我正在用 java 编程......
棋盘需要有61个六边形...
最佳答案
我去年做了类似的事情,这里是我的代码的简化版本,可能会对您有所帮助:
public class MapPanel {
int r = 30; // radius of hexagone
int h = (int) Math.sqrt(r*r*3/4);
int[] xPoints = {r/2,3*r/2,2*r,3*r/2,r/2,0};
int[] yPoints = {0,0,h,2*h,2*h,h};
int[] xp = new int[6];
int[] yp = new int[6];
public void paint(Graphics g){
int xoffset = 0;
int yoffset = 0;
// display map
for (int j = 0; j < /* put width here */; j++) {
for (int i = 0; i < /* put height here */; i++) {
for (int k = 0; k < 6; k++) {
xp[k] = xPoints[k]+xoffset;
yp[k] = yPoints[k]+yoffset;
}
g.setColor(Color.black);
g.drawPolygon(xp, yp, 6);
yoffset += 2*h;
}
yoffset = h-yoffset % (2*h);
xoffset += 3*r/2;
}
}
}
如果您想要公式的解释,只需谷歌“六边形”...
关于algorithm - 创建六边形游戏需要棋盘的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446130/