안녕하세요으로 읽어! 텍스트 파일에서 문자/행을 읽는 것과 관련하여 질문이 있습니다. 필자는 파일에서 행을 읽는 함수를 구현할 수있었습니다. Greenfoot (Java)를 사용하여 32x32 블록을 사용하는 게임을 만듭니다. 각 "블록"/ "문자"x-/y- 좌표를 가져 와서 그것을 세계에 배치하여 해당 텍스트 파일에서 세계를 생성하고 싶습니다. 배열을 사용하는 것이 더 쉬울까요? 내 현재 코드는 다음과 같지만 좌표를 얻는 방법을 알아낼 수는 없습니다. 그것이 반환하는 해시 코드를 사용하여 작동 할 수 있습니까?자바 : 캐릭터의 좌표를 얻기 내가 성공하지 않고이 문제에 대한 솔루션을 찾고 있었어요 시간</p> <p>그래서 내가 여기에 질문을 거라고 생각, 파일
public void readFile(String filename) throws IOException
{
String s;
int x = 0;
int y = 0;
// Create BufferedReader and FileReader
BufferedReader r = new BufferedReader(new FileReader(filename));
// Try-catch block as exception handler
try {
while((s = r.readLine()) != null) {
// Create the blocks
GrassBlock A = new GrassBlock();
// Place them in the world
addObject(A, x, y);
// Test to see, if the blocks get recognised
System.out.println(A);
DirtBlock B = new DirtBlock();
System.out.println(B);
addObject(B, x, y);
}
} catch (IOException e) {
System.out.println("Fehler beim Öffnen der Datei");
} finally {
}
}
내 파일은 다음과 다소 같습니다
내가 어떻게 할 수있는 것이이 있지만처럼 작동 할 수 물론 그래서는 모두 x와 y에 값이 "0"를 할당 한 것을 볼 수0000000000
0000000000
AAAAAA00AA
BBBBBB00BB
나는 그 위치를 얻는다? 현재이 함수는 행을 읽고, (0, 0)에 블록을 생성하고 해시 코드로 콘솔에 블록을 표시 할 수 있습니다.
P.S 죄송합니다. 일부 용어에 잘못된 용어를 사용하면 프로그래밍에 익숙하지 않습니다. 비슷한
int y = 0;
while ((s = ...) != null) {
// do something with s
y += 1; // or y++
}
:
는
힌트 : 1. 파일의 형식은 무엇이며 파일에 좌표/블록 유형은 어떻게 저장됩니까? 2. 일반적으로 StackTrace ('e.printStackTrace()')를 catch 블록에 인쇄하거나 적어도 메시지 및 예외 클래스를 인쇄하는 것이 더 유용합니다. –
줄 번호는 _y_ 좌표이고 각 행의 위치는 줄에있는 문자는 _x_? –
@CarlosHeuberger 감사합니다! 그것은 0, A, B 등등을 가진 단순한 .txt 파일입니다. 나는 그것을 고칠 것입니다, 고마워요! –