우선, 이전에 올린 질문은 친절한 답변 덕분에 해결하였습니다.
감사합니다.
이번에는,
스크립의 순서를 랜덤으로 하려고 합니다.
이전까지는
(A - B - C - D) - (A - B - C - D)..... 순서를 고정하여 사용했었습니다.
그런데, A,B,C,D를 모두 거치되 한 사이클을 돌 때마다 그 순서가 랜덤으로 되도록 하는 방법이 있을까요?
ABCD
ABDC
ACBD
ACDB
.
.
.
이런 식으로요.
제 지식으로는
ABCD로 만들수 있는 경우의 수 16가지를 모두 분기로 만들어
판단문 [랜덤, 15]로 는 수 밖에 떠오르지가 않아요 ㅠㅠ
일단은 이렇게 만들어 사용하고 있지만 다른 팁이 있으시다면 조언 부탁드립니다.
감사합니다.
가능한 방법이 되게 많은데 어느게 가장 간단한지 잘 모르겠어서 우선 생각나는 방법을 하나 적어볼게욤
선택그룹 항목을 만들어서 최저값정렬 항목 값에 따라 스크립트를 호출하는 방식입니다.
초기값 : [선택그룹]의 하위 항목 전체에 동일값(0)
카운트리셋 : 몇 개의 항목 중에 고를것인가 판단값. 항목이 네개이므로 4=[기본변수]
랜덤선택 : 항목중에서 범위내의 랜덤 선택 [itemMin,[선택그룹], [random,[기본변수]]] = [선택그룹]
선택호출 : 선택된 항목 이름으로 함수 호출 [선택그룹,s,name]
선택값제외 : 선택했던 값 제외 1=[선택그룹,s]
선택범위조절 : 미사용 항목이 몇개 남았나 연산 [기본변수]-1 = [기본변수]
싸이클확인 : 범위(미사용갯수)가 1개 이상인지 확인 [기본변수]<1
리셋or속행
이런식으로 구성이 되는데
말로 설명하면 복잡해 보이지만 사실 내용은 간단합니다.
예를들어 A가 선택, 사용되어 값이 1이 되면
최소값 기준 1~3번째 항목을 선택하므로
남은 값이 0인 BCD중에서 하나를 선택하는 구조입니다
이런식으로 만들어서 돌려보면 무작위로 ABCD를 순차호출 하게 됩니다.
ABCD 처럼 항목이 네개인 경우에는 16개의 경우의 수를 정해놓고 랜덤 선택하는 것보다 단순하다고 하기는 힘들지만
항목이 10개 20개로 늘어나도 과로사하지 않을 수 있습니다
그리고 ABCD라는 스크립트의 내용이 정해지지 않은 상태의 가장 범용 가능한 형태이므로,
어떤 형태냐에 따라 더 단순화 할 수 있으실 거에욥!