ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클래시오브클랜(COC) - 오토핫키 제작 6일 차 - 파밍, 벽 개수 추가
    오토핫키 2022. 6. 12. 13:02
    반응형

    안녕하세요.

    오늘은 오토핫키 제작 6일 차입니다. 이번 포스팅은 파밍 횟수, 벽 업그레이드 개수 추가 및 저장을 하는 기능을 추가하도록 하겠습니다.

     

     

    먼저 버튼을 클릭 했을 때에 현재 개수에서 1을 더하고 ini 파일에 내용을 저장하고 텍스트 박스의 내용을 바꾸는 이벤트를 만들어 보겠습니다.

     

    ; 파밍 버튼 클릭 시 발생하는 이벤트
    PA1:
    ; 윈도우 현재 시간 가져오기
    time:=a_now
    ; MM-dd로 포맷하여 atime에 저장
    formattime,atime,%time%,MM-dd
    ; 마을1 파밍횟수의 데이터 확인
    IniRead, saveCount, %atime%.ini, 1, 파밍횟수
    ; saveCount 1 증가
    saveCount++
    ; 현재 날짜에 해당하는 ini 파일에 마을1탭 파밍횟수에 saveCount 저장
    IniWrite, %saveCount%, %atime%.ini, 1, 파밍횟수
    ; 텍스트박스 내용 수정
    GuiControl,,PamingCount1, %saveCount%
    return
    
    PA2:
    time:=a_now
    formattime,atime,%time%,MM-dd
    IniRead, saveCount, %atime%.ini, 2, 파밍횟수
    saveCount++
    IniWrite, %saveCount%, %atime%.ini, 2, 파밍횟수
    GuiControl,,PamingCount2, %saveCount%
    return
    
    PA3:
    time:=a_now
    formattime,atime,%time%,MM-dd
    IniRead, saveCount, %atime%.ini, 3, 파밍횟수
    saveCount++
    IniWrite, %saveCount%, %atime%.ini, 3, 파밍횟수
    GuiControl,,PamingCount3, %saveCount%
    return
    
    ; 벽 업글 버튼 클릭 시 발생하는 이벤트
    WA1:
    time:=a_now
    formattime,atime,%time%,MM-dd
    IniRead, saveCount, %atime%.ini, 1, 벽칠횟수
    saveCount++
    IniWrite, %saveCount%, %atime%.ini, 1, 벽칠횟수
    GuiControl,,WallCount1, %saveCount%
    return
    
    WA2:
    time:=a_now
    formattime,atime,%time%,MM-dd
    IniRead, saveCount, %atime%.ini, 2, 벽칠횟수
    saveCount++
    IniWrite, %saveCount%, %atime%.ini, 2, 벽칠횟수
    GuiControl,,WallCount2, %saveCount%
    return
    
    WA3:
    time:=a_now
    formattime,atime,%time%,MM-dd
    IniRead, saveCount, %atime%.ini, 3, 벽칠횟수
    saveCount++
    IniWrite, %saveCount%, %atime%.ini, 3, 벽칠횟수
    GuiControl,,WallCount3, %saveCount%
    return

    위에서 처럼 파밍 버튼과 벽 버튼에 이벤트를 추가하였습니다. 같은 맥락이라 주석은 전부 달지 않았습니다.

    이제 저장을 하였으니 프로그램 실행 시 ini 파일의 내용을 가져와 전시하는 기능을 추가하겠습니다.

     

    ;;;;;;;;;;;;;;;;; 220612 추가 - start 
    ; 윈도우 현재 시간 가져오기
    time:=a_now
    ; MM-dd로 포맷하여 atime 저장
    formattime,atime,%time%,MM-dd
    ; 현재 날짜에 해당하는 ini 파일의 마을1에 파밍횟수를 가져와 saveCount에 저장
    IniRead, saveCount, %atime%.ini, 1, 파밍횟수
    ; ini 파일이 존재하지 않을경우와 해당 내용이 없을 경우 saveCount 는 'ERROR' 를 저장함
    if(saveCount="ERROR")
    {
    	GuiControl,,PamingCount1, 00
    }
    ; ini 파일이 존재하여 saveCount 내용이 있다면 
    else
    {
    	GuiControl,,PamingCount1, %saveCount%
    }
    
    IniRead, saveCount, %atime%.ini, 2, 파밍횟수
    if(saveCount="ERROR")
    {
    	GuiControl,,PamingCount2, 00
    }
    else
    {
    	GuiControl,,PamingCount2, %saveCount%
    }
    
    IniRead, saveCount, %atime%.ini, 3, 파밍횟수
    if(saveCount="ERROR")
    {
    	GuiControl,,PamingCount3, 00
    }
    else
    {
    	GuiControl,,PamingCount3, %saveCount%
    }
    
    IniRead, saveCount, %atime%.ini, 1, 벽칠횟수
    if(saveCount="ERROR")
    {
    	GuiControl,,WallCount1, 00
    }
    else
    {
    	GuiControl,,WallCount1, %saveCount%
    }
    
    IniRead, saveCount, %atime%.ini, 2, 벽칠횟수
    if(saveCount="ERROR")
    {
    	GuiControl,,WallCount2, 00
    }
    else
    {
    	GuiControl,,WallCount2, %saveCount%
    }
    
    IniRead, saveCount, %atime%.ini, 3, 벽칠횟수
    if(saveCount="ERROR")
    {
    	GuiControl,,WallCount3, 00
    }
    else
    {
    	GuiControl,,WallCount3, %saveCount%
    }
    
    ;;;;;;;;;;;;;;;;; 220612 추가 - end

    위의 내용은 220611에 작업하였던 내용 바로 뒤에 추가하였습니다. 위에서처럼 윈도우의 현재 시간의 날짜에 해당하는 ini파일의 내용을 읽습니다. 파일이 존재하지 않거나 해당 파일에 데이터가 존재하지 않으면 ERROR을 가져오기 때문에 그때는 00으로 텍스트 박스를 변경되도록 하였습니다. 이제 동작 확인을 해보겠습니다.

    해당 날짜의 ini파일이 존재하지 않으므로 아래와 같이 00이 표시됩니다.

    이제 버튼을 눌러 추가해 보겠습니다. 아래와 같이 추가하였습니다.

    그런 다음 프로그램이 있는 폴더에 가보면 06-12.ini 파일이 추가된것을 확인할 수 있습니다.

    06-12.ini 파일을 열어 보면

    이런식으로 저장이 되어 프로그램 실행 시 불러와 사용하거나 버튼 클릭 시 불러와 사용하고 저장할 수 있습니다.

     

    이번 포스팅 까지 작업한 내용을 첨부하였으니 참고하시길 바랍니다.

    파밍시간계산.ahk
    0.01MB

    이것으로 파밍 횟수와 벽 업그레이드 개수는 저장하고 불러오는 이벤트를 추가 완료하였습니다.

    다음 포스팅은 오토핫키 제작이 아닌 저의 마을 상태를 알아보는 시간으로 찾아뵙겠습니다.

    감사합니다.

    반응형
Designed by Tistory.