2013-08-13 2 views
13

그래서 나는 무언가를 만들려고 노력하고 있으며 난처한 곳에서 임의의 숫자를 생성하는 방법을 찾고 있습니다. 그러나 내 코드를 테스트하는 위치에 관계없이 비 임의 숫자가됩니다. 여기에 제가 쓴 예가 있습니다.Lua math.random not working

내 코드를 테스트 할 때마다 동일한 결과가 나타납니다. 예를 들어 내가 여기 코드를 테스트 할 때 http://www.lua.org/cgi-bin/demo은 항상 "Ion Thruster Machine Gun Blaster"로 끝나고 랜덤 화하지 않습니다. 그 문제의 테스트를 위해 단순히

random = math.random (10) 
print(random) 

나 9 준다, 내가 부족 뭔가가있다?

답변

23

는 한 번과 같이 math.random()을 사용하기 전에 math.randomseed()를 실행해야합니다

math.randomseed(os.time()) 

한 가지 문제는 첫 번째 숫자는 그래서 일부 플랫폼에서 "무작위"되지 않을 수 있다는 것이다.

math.randomseed(os.time()) 
math.random(); math.random(); math.random() 

참조 : Lua Math Library

+0

그 라인 내 코드의 업데이트 된 버전을 실행 여기에이 루아 코드 데모에 트릭을 할 것 같다 그래서 더 나은 솔루션 진짜 사용하기 전에 어떤 임의의 번호를 팝업하는 것입니다 http://www.lua.org/cgi-bin/demo 그러나, 내 lua 이클립스 IDE에서 동일한 코드를 실행하면 원래 가지고있는 것과 동일한 문제가 발생합니다. 문제가 될 수 있습니다. 내 IDE로? – user2677006

+1

@ user2677006'math.random()'을'math.randomseed()'바로 다음에 한 번 호출하여 문제가 해결되었는지 확인하십시오. –

+0

이것은 문제를 해결하는 것처럼 보였습니다. 어떻게해야할지 모르지만 대단히 감사합니다. – user2677006