편집 : 내가 솔루션이 방법 1과 7 사이의 2 개의 임의의 정수를 만드는 방법.
public int getRandomNumber(int start,int end)
{
int normal = Greenfoot.getRandomNumber(end-start+1);
return normal+start;
}
및
getRandomNumber(int, int)
안녕하세요
을 사용 요청 때문 How do I generate random integers within a specific range in Java?에 다른 문제이다. 저는 Java로 Greenfoot 프로젝트를 진행했습니다. 주인공은 7x7 화면에 3 개의 동전이 있습니다. 이 코드를 작성했습니다 :public class FirstLevel extends World
{
public int getRandomNumber(int start,int end)
{
int normal = Greenfoot.getRandomNumber(end-start+1);
return normal+start;
}
/**
* Constructor for objects of class FirstLevel.
*
*/
public FirstLevel()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(9, 9, 60);
MainCharacter theDuckDude = new MainCharacter();
addObject(theDuckDude, 4, 4);
coin coin1 = new coin();
coin coin2 = new coin();
coin coin3 = new coin();
addObject(coin1, getRandomNumber(1, 7), getRandomNumber(1, 7));
addObject(coin2, getRandomNumber(1, 7), getRandomNumber(1, 7));
addObject(coin3, getRandomNumber(1, 7), getRandomNumber(1, 7));
}
}
이렇게 알 수 있듯이 세 동전과 오리 캐릭터가 임의의 위치에 나타납니다. 분명히
Actor actor = getOneIntersectingObject(coin.class);
getWorld().removeObject(actor);
는,이 코드는 내 theDuckDude 문자가 동전 배우를 접촉 할 때, 동전이 제거되었는지 보여줍니다 여기 내 theDuckDude 문자의 코드의 조각이다. 당신은 아마 보았 듯이,이 상당히 문제가있다 : theDuckDude와 동전 배우가 같은 광장에 발생하는 경우, 게임이 제대로 작동하지 않습니다 : 그래서
, 나는이 무작위로 생성 할 수있는 방법이있다
public int getRandomNumber(int start,int end)
{
int normal = Greenfoot.getRandomNumber(end-start+1);
return normal+start;
}
및
getRandomNumber(1, 7)
방법을 사용하는 int는 내가 할 수있는 방법은 그 제외 5 5 함께 임의의 위치를 생성?
이 적했다 테스트가 동일하고 다른 쌍을 생성하는지 테스트 해보십시오. –
이것은 다시 2 차원 문제이므로 통계적으로 명확하지 않습니다. – Bathsheba
동전을 같은 광장에 둘 수 있습니까? – matt