매크로

조회 수 265 추천 0 댓글 4
Make_Random_1_18(){

count :=1 ;**** 카운트 초기화****
while(1){
num := 1
random,rand_ch,1,18
while(1){ ;****각기다른 랜덤값생성****      
Iniread,ex_rand_ch,Random.ini,Rand,rand_ch%num%
num := num + 1
if(ex_rand_ch == rand_ch){ ;****값이 같다면 랜덤값을 다시생성해야됨****
random,rand_ch,1,18 ;****다시 처음부터비교****
num := 1
}
if(num == 19){ ;****값이 같지 않다면 종료될것임****
break
}
}
Iniwrite,%rand_ch%,Random.ini,Rand,rand_ch%count% ; count값을 대입하고 count값 증가 
count := count + 1
if(count == 19){
break
}
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Reset_Random_1_18(){

Reset_count := 1
while(1){
Reset_count := Reset_count + 1
if(Reset_count == 19){
break
}
Iniwrite,0,Random.ini,Rand,rand_ch%Reset_count%
}
}


~~~~~~~~~~~~~ 설명~~~~~~~~~~~~~~~~

랜덤값 만들고 저장하는데 겹치지않게 값을 만들어주는함수입니다.
(EX 1부터19까지의 값을 겹치지 않게 목록 1부터 19까지 저장)

오토핫키 내에 존재하는지모르지만 (아마도 존재할수도?)

구글링하기 귀찮아서 제가 직접 만들었습니다.

또한 오핫에 배열도 있다고는하던데 그거또한 공부하기 귀찮아서 그냥 안썻습니다.
(사용하실수있으시면 그거쓰시면 편할듯)
함수 그냥 사용하던거 그대로 가져다 붙였습니다.

위의 함수는 1부터 18까지만들어서

ini에 파일에 Rand의 rand_ch에 저장해주는함수입니다.

ini파일로 만든거는 귀찮아서 그렇구요

파일로 저장하실분은 그부분만 바꾸면되요

다시 사용하려면 Reset_Random_1_18()을 써주셔야됩니다.

안그러면 무한루프가 돌더군요 이유는 모르겠지만요

구문은 이해하는데 어렵지 않으실꺼에요

설명필요한거있으면 답변해드리겠습니다.


  • profile
    외치기 2016.12.22 17:18

    말투가 조금 공격적으로 들릴수있는점 미리 양해부탁드립니다.

    본인이 만드신 코드가 어떻게 작동하는지 제대로 파악하지 않으신채로 팁이라고 올리셨네요.

    지금 이 코드는ini에 현재까지 생성된 값들을 저장해서 중복비교를 수행하니

    ini를 초기화 시키지 않으면 무한루프를 도는게 당연한 결과입니다.

    ini에 1부터 18까지 전부 저장된 상태라면 더이상 새로운 숫자를 랜덤으로 뽑아낼수 없으니 계속해서 랜덤함수만 실행하고 제대로된 결과를 뱉어내지 못하는 것입니다.

    ini에 저장된 결과의 갯수를 먼저 파악하시고 추가적인 랜덤생성이 가능한지를 파악하셔야 됩니다.

    이미 모든 숫자가 출력된 이후라면 그에맞는 에러나 탈출분기를 만드셔야할거같네요.

  • profile
    외치기 2016.12.22 17:35
    Global AlreadyGenerated

    Make_Random_X_TO_Y(StartX,EndY){
    Gap := EndY - StartX + 1
    Msgbox % Gap
    AlreadyGenerated = @
    loop,%Gap%{  
    loop{
    random,rand_num,StartX,EndY
            var = @%rand_num%@
    ifinString,AlreadyGenerated,@%rand_num%@
    {
    }
    Else
    {
    AlreadyGenerated = %AlreadyGenerated%%rand_num%@
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;이 사이에 생성된 숫자에 대한 처리를 넣으시면 됩니다.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    break
    }
    }
    }
    ;;funtionEnd
    }

    F1::
    Make_Random_X_TO_Y(1,18)
    msgbox % AlreadyGenerated
    return
  • sudeky 2016.12.23 22:35
    지적과 코드 감사드립니다
  • 짱돌임 2016.12.25 14:44

    감사합니당


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오토핫키 엑셀시트 여러개 잡고 추가로 하나더 잡는걸... 아리가또우 2017.01.03 0/0
질문 비활성 이미지 서치 질문입니다. 쌈빡빽쑤 2017.01.02 0/0
질문 마우스 이벤트 참여얼케하나요? 흥석 2017.01.02 0/0
질문 오버워치 이미지서치 고수님들 1 안신 2017.01.02 0/0
자유 이토랜트 포인트모집기... 새해복들많이 받으세요 걍자랑? 1 제발등업좀2 2017.01.04 0/0
질문 프로그램비활성 알트+f4 로 꺼지게만들려고하는데 반응... 구름빵 2017.01.01 0/0
자유 요즘 몬길매크로 뭐쓰시나요다들? limsungm 2016.12.31 0/0
자유 파싱질문 질문좀 드리겠습니다.. 1 제발등업좀2 2016.12.31 0/0
질문 오토핫키 이미지캡쳐 후 디스크에 안 쓰고 비교하는 방... 4 카카오고양이 2017.01.03 0/0
질문 오토핫키에 윈도우 경고음 내게 하는 명령어 있나요? 1 hiki 2016.12.28 0/0
질문 winhttp 질문드리고싶습니다 ..부디 답변부탁드리겠습... 9 제발등업좀2 2017.07.17 0/0
질문 맵 좌표를 기억하고 제자리로 돌아가게 어떻게 하나요? 3 생물0 2017.04.26 0/0
질문 시간날때 오토핫키 배워보고싶은데용 쪠리 2016.12.26 0/0
질문 다시 질문좀 드릴게요 머리 뽀게질거같아요 3 아카시아 2016.12.26 0/0
질문 마우스 이벤트 질문드립니다 PlusK 2016.12.25 0/0
질문 오토핫키 우회컴파일러를 만들고 싶어요 1 사냥하고파요 2016.12.26 0/0
자유 오버워치 이미지서치치 4 아항 2017.01.20 0/0
자유 오버워치 오토에임 크랙 해주실분 구합니다. 3 띠잉이이잉 2020.05.18 0/0
질문 이미지서치 공부 2틀째.. 오늘은 한걸음 땔수있게 도와... 8 아카시아 2016.12.23 0/0
정보 X부터Y까지의 모든 값을 랜덤으로 입력해주는 함수 4 sudeky 2016.12.25 0/0
Board Pagination Prev 1 ... 96979899100101102103104 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글