我正在制作我的第一个2d基于平铺的游戏。我创建了一个“level.txt”文件,看起来像这样:
0 0 0 1 0 1 0 1 0 0 1 1 1 0
0 1 0 1 1 0 0 1 0 0 0 0 1 0
0 0 1 0 1 1 1 0 0 0 1 1 1 1
//and so on.
这基本确定每个瓷砖使用的精灵表中的图片(例如0是草,1是水)。级别文件当前必须是一个设置大小,但我希望它能自动确定级别的宽度(来自单行中的数量),并相应地绘制网格,以便于自定义。无论如何要读取文件的一行中的数字量?例如,如果我有这个:
0 1 0 1 1 0
我如何让方法返回“6”?我用谷歌搜索了这个问题,但我似乎无法找到答案。
如果有人可以发布一个简单的例子,我应该能够弄明白,并把它放在我的游戏中。感谢。
答案 0 :(得分:3)
非常简单:
public int countNumbers(String line) {
return new StringTokenizer(line).countTokens();
}
StringTokenizer
是一个用于将字符串分解为“标记”的类。这将返回令牌数。
答案 1 :(得分:2)
或者不使用Tokenizer:
File f = new File("file.txt");
Scanner s = new Scanner(f);
String line = s.nextLine();
String[] numbers = line.split(" ");
int num_numbers = numbers.length;