我正在制作一个基于十六进制网格的策略游戏。
我使用salamander2编写的代码创建了一个hexGrid。
代码在GitHub上:https://gist.github.com/salamander2/4329783.
我的问题是将我想要的文本放入十六进制网格中。它不必是一个字符串。
我想要的只是显示十六进制的建筑物数量。
这是作者用于在十六进制上显示的内容。
board [int][int] = (int) 'w';
这将在十六进制上显示“w”。
我试过了:
board[int][int] = hex.getBuildingList.size();
但它没有显示具体的数字。 至于代码,我在Sysytem.print中尝试了它,它显示了每个十六进制的正确数字。 有人能帮帮我吗? 我尝试过这样的事情:
Integer bN = hex.getBuildingList().size();
String b = stringToHex(bN.toString());
board[p.x][p.y] = b;
但它给了我一个错误,b是字符串而不是int。
答案 0 :(得分:0)
static public String stringToHex(String s) {
char[] chars = s.toCharArray();
String next;
StringBuffer output = new StringBuffer();
for (int i = 0; i < chars.length; i++) {
next = Integer.toHexString((int)chars[i]);
// Unfortunately, toHexString doesn't pad with zeroes, so we have to.
for (int j = 0; j < (4-next.length()); j++) {
output.append("0");
}
output.append(next);
}
return output.toString();
}
来源位于以下链接。我在使用bulkSMS时遇到过这种情况 http://developer.bulksms.com/eapi/code-samples/java/unicode/