Macro
소속팀 : 포털 Ajax 팀
작성일 : 2013 년 01 월 18 일
작성자 : 모정훈
ⓒ 2013 NHN CORPORATION
준비 사항
• Bluestacks 에 대한 소개
– 설치 방법
– 실행 방법
• Python 에 대한 약간의 지식
– 설치 방법
– 실행 방법
– 특징
– 관련 라이브러리 ( 모듈 )
2
Bluestacks
• Bluestacks 에 대한 소개
– http://www.bluestacks.com/
– PC 용 스마트폰앱 (Android) 에뮬레이터
3
Python (1 of 2)
• Python 에 대한 약간의 지식
– http://www.python.org/
– 인터프리터를 이용한 객체지향 프로그래밍 언어
– 유닉스 / 리눅스 , 맥 , 도스 , 윈도우 등 많은 종류의 운영체
제에 이식
– 실행 방법은 Java 와 비슷 (python 명령 + 타겟 코드 파일
)
• 특징
– 들여 쓰기로 블럭 작성
– 버전에 대한 의존성 ( 라이브러리 )
– 동적 데이터 형식 , 수 많은 시스템 호출 및 라이브러리 ,
인터페이스
– 자유로운 소스코드 이용과 수정 , 재사용 용이4
Python (2 of 2)
• 관련 라이브러리
– PIL (Python Image Library)
• http://www.pythonware.com/library/pil/handbook/
• 이미지를 캡쳐 , 생성 , 저장 등의 이미지 프로세싱을 위한 라이브러리
• 예 ) Image, ImageGrab
– time
• 시간 라이브러리
– Win32
• http://timgolden.me.uk/pywin32-docs/contents.html
• 예 ) win32api, win32con, win32gui
– random
• 랜덤
– collections
• defaultdict
5
구현 원리
해당 윈도우 창 찾기
while ( 종료시간 ? ) {
7 x 7 배열 초기화
원하는 영역 캡쳐
블럭 인식
배열에 블럭 정보 저장
배열을 기준으로 조작할 큐 생성
큐에 있는 내용대로 마우스 제어
}
6
원하는 영역을 선택 & 캡쳐
• 원하는 영역을 선택 & 캡쳐
7
블럭을 인식
• 특정 영역의 픽셀의 색깔로 인식
8
조작할 블럭에 대한 큐 생성
• 조작할 블럭에 대한 큐
9
사용 방법
• Python 실행 방법
– python [ 코드파일 ] [ 옵션… ]
• 매크로 실행방식
– python anipang.py [ 캡쳐주기 ] [ 실행시간 ] [ 실행방식
]
– 캡쳐주기 : 화면 캡쳐의 주기 시간 (1/100 sec)
– 실행시간 : 초 단위의 총 실행 시간 (1/100 sec)
– 실행방식 : 주기 시간에 실행하는 방식 (single, multi)
예 ) python anipang.py 0.5 60 [single | multi]
10
시연
• 시연
11
마치며 ..
• 느낀점 ..
– 언어는 상관 없다 .
– 계속 공부해야 하는 슬픔을 자신의 즐거움에서 찾자 .
– 특정 프레임워크나 업무가 세상의 전부가 아니다 .
– 현실과 접점에서 문제 해결을 고민하고 실천해보자 .
12
Thank you.

Macro for Game

  • 1.
    Macro 소속팀 : 포털Ajax 팀 작성일 : 2013 년 01 월 18 일 작성자 : 모정훈 ⓒ 2013 NHN CORPORATION
  • 2.
    준비 사항 • Bluestacks에 대한 소개 – 설치 방법 – 실행 방법 • Python 에 대한 약간의 지식 – 설치 방법 – 실행 방법 – 특징 – 관련 라이브러리 ( 모듈 ) 2
  • 3.
    Bluestacks • Bluestacks 에대한 소개 – http://www.bluestacks.com/ – PC 용 스마트폰앱 (Android) 에뮬레이터 3
  • 4.
    Python (1 of2) • Python 에 대한 약간의 지식 – http://www.python.org/ – 인터프리터를 이용한 객체지향 프로그래밍 언어 – 유닉스 / 리눅스 , 맥 , 도스 , 윈도우 등 많은 종류의 운영체 제에 이식 – 실행 방법은 Java 와 비슷 (python 명령 + 타겟 코드 파일 ) • 특징 – 들여 쓰기로 블럭 작성 – 버전에 대한 의존성 ( 라이브러리 ) – 동적 데이터 형식 , 수 많은 시스템 호출 및 라이브러리 , 인터페이스 – 자유로운 소스코드 이용과 수정 , 재사용 용이4
  • 5.
    Python (2 of2) • 관련 라이브러리 – PIL (Python Image Library) • http://www.pythonware.com/library/pil/handbook/ • 이미지를 캡쳐 , 생성 , 저장 등의 이미지 프로세싱을 위한 라이브러리 • 예 ) Image, ImageGrab – time • 시간 라이브러리 – Win32 • http://timgolden.me.uk/pywin32-docs/contents.html • 예 ) win32api, win32con, win32gui – random • 랜덤 – collections • defaultdict 5
  • 6.
    구현 원리 해당 윈도우창 찾기 while ( 종료시간 ? ) { 7 x 7 배열 초기화 원하는 영역 캡쳐 블럭 인식 배열에 블럭 정보 저장 배열을 기준으로 조작할 큐 생성 큐에 있는 내용대로 마우스 제어 } 6
  • 7.
    원하는 영역을 선택& 캡쳐 • 원하는 영역을 선택 & 캡쳐 7
  • 8.
    블럭을 인식 • 특정영역의 픽셀의 색깔로 인식 8
  • 9.
    조작할 블럭에 대한큐 생성 • 조작할 블럭에 대한 큐 9
  • 10.
    사용 방법 • Python실행 방법 – python [ 코드파일 ] [ 옵션… ] • 매크로 실행방식 – python anipang.py [ 캡쳐주기 ] [ 실행시간 ] [ 실행방식 ] – 캡쳐주기 : 화면 캡쳐의 주기 시간 (1/100 sec) – 실행시간 : 초 단위의 총 실행 시간 (1/100 sec) – 실행방식 : 주기 시간에 실행하는 방식 (single, multi) 예 ) python anipang.py 0.5 60 [single | multi] 10
  • 11.
  • 12.
    마치며 .. • 느낀점.. – 언어는 상관 없다 . – 계속 공부해야 하는 슬픔을 자신의 즐거움에서 찾자 . – 특정 프레임워크나 업무가 세상의 전부가 아니다 . – 현실과 접점에서 문제 해결을 고민하고 실천해보자 . 12
  • 13.