저는 현재 작업하고있는 작은 게임을위한 간단한 2D 세계 제너레이터를 만들기 위해 노력하고 있습니다. 문제는 무작위로 얻은 값이 모두 동일하다는 것입니다. 또한, 나는 두 블록 높이의 블록을 생성하는 발전기가 원하지 않습니다. 플레이어가 통과 할 수 없기 때문입니다.무작위로 동일한 번호를 누설합니다.
이private void generateWorld() {
Random r = new Random(Sys.getTime()/System.currentTimeMillis() * System.nanoTime());
int bh = r. nextInt(1) + 1;
for(int x = 0; x < width; x+=32) {
theWorld.addBlock(new Block(BlockType.Grass, x, bh * 32));
//r = new Random(Sys.getTime()/System.currentTimeMillis() * System.nanoTime());
bh = r.nextInt(1) + 1;
System.out.println(bh);
}
}
편집 : r.nextInt(2);
또한 토지의 평면 스트립을 만들고 여기에 내 코드입니다. EDIT2 : 바보 같았고 for 루프 앞에 r.nextInt() 만 변경했습니다. 그 안의 것을 잊어 버렸습니다!
매번'r.nextInt (1)'이'0'을 리턴하지 않습니까? – Blender
nextInt의 설명서를 읽으셨습니까? –
보다 일반적으로, r.nextInt (n)는 적어도 0 이상 n 미만의 int를 반환합니다. 최소한 0 이상이고 1 미만의 단 하나의 int가 있습니다. 아마도 r.nextInt (2)를 사용해야합니다. –