이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
With 프로그램바
이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
신강현님..
뭘 만들고 싶은지 잘 모르겠습니다.
제작 목적을 모르니 적당한 답변을 드리기 힘드네요..
확율을 높인다는 것은.. 선택지를 줄이는 것이지요..
5를 찾을 확율을 구한다고 해보지요..
(1, 3, 5, 8, 10)에서 5를 찾는 확율과 (1,2,3,4,5,6,7,8,9,10)에서 5를 찾는 확율은 5개의 항목 중에서 고르는게 높겠죠?
rnd함수가 변하는 범위를 좁히면 됩니다.
int(rnd*10) 이라고 하면 나올 수 있는 숫자는 (0,1,2,3,4,5,6,7,8,9,10)
int(rnd*3)이라고 하면 나올 수 있는 숫자는 (0,1,2,3)
두번째 방법으로 찾는게 찾을 확율이 높겠지요..
잘 설명을 한건지 잘 모르겠지만.. 최선을 다했습니다. 쿨럭.. OTL..
암튼.. 머.. 그렇습니다. @_@;;
신강현님..
rnd로 숫자를 비교하면..
rnd는 실수이기 때문에 소수점 아래 자리수가 참 많죠.. 정수로는 조건을 맞추기가 힘들 것 같구요..
또한 Label.Width도 정수로 지정한다고 정수로 딱 값을 갖지 않는 경우가 많아서..
둘다 정수로 강제 변환하는 int함수를 사용하셔서 정수로 변환 후 비교하시면 될 것 같습니다.
rnd함수는 0부터 1까지의 실수를 리턴하는 함수니까요..
0부터 50까지 리턴하게 하려면 rnd*50 하시면 됩니다.
If int(.Label1.Width) = int(rnd*50) then
범위가 넓으면 넓을 수록 조건이 맞아서 Loop를 Exit하는 확율은 떨어집니다.. ^^
굳이 소숫점 1자리까지 맞추고 싶으면 아래처럼 변형하면 되겠지요..
If int(.Label1.Width*10) = int(rnd*50*10) then
도움이 되셨기를..