BoardGame 보드게임 따라가기
프로젝트 만들기 File > New > Android Application Project 를 선택 Application Name 를 입력 [Next >] 를 선택
프로젝트 만들기 Create custom launcher icon 의 체크 해제 [Next >] 를 선택
프로젝트 만들기 [Next >] 를 선택
프로젝트 만들기 [Finish] 를 선택
프로젝트 확인 설정했던 이름으로 프로젝트가 완성이 됨 Ctrl+F11 으로 빌드 하면 “Hello world!” 글자가 화면에 보임 MainActivity.java : 작업할 자바 파일 activity_main.xml : 화면을 구성할 파일
보드게임 화면 구성 하기 결과 화면에 대한 구상하기 구상한 화면 표현하기
보드게임 화면 구성 하기 화면의 구성을 레이어로 분할 하여 표현하시 구역별로 나누어서 그룹으로 관리하기
보드게임 코딩하기 BGPanMask 배열 Unit1 : 지금 위치 Unit1Move : 옴길위치 Dice : 주사위 구성된 화면 즉 map 과 동일하며, 실제 화면과 코드에서의 내용을 연결하는 기준. Unit1 : 지금 위치 Unit1Move : 옴길위치 Dice : 주사위 isroll : 굴린 횟수 isDicerolling : 주사위 선택중
보드게임 코딩하기 버튼 이용하기 버튼 리스너 연결하기
보드게임 코딩하기 버튼 처리 버튼을 누른 횟수에 따른 처리로 구분 버튼 글자 바꾸기 주사위에 대한 굴림을 표현하기 위해서 핸들러 사용 주사 굴림을 표현
보드게임 코딩하기 버튼 처리 주사위 선택결과에 대한 처리 Unit1Move = (Unit1 + Dice)%BGPanMask.length; 지금 위치에서 부터 주사위 숫자만큼 이동 “%BGPanMask.length”를 이용하여 배열의 인덱스의 범위를 못 벗어나게 함
보드게임 코딩하기 버튼 처리 유닛의 이동을 표현하기 위해 핸들러를 사용함 유닛이 선택한 이동 위치까지 이동 중에 선택한 위치에 대한 정보를 변경하면 안됨 일시적으로 버튼에 대한 처리를 제한함
보드게임 코딩하기 주사위 핸들러 주사위가 굴러가는 표현하는 동안 계속 주사위 핸들러를 지연 시간 후에 동작하도록 함 덱스트 뷰의 글자를 바꾸게 함
보드게임 코딩하기 유닛 핸들러 if(DisplayUnit()) 이동중이면 다시 유닛 핸들러를 지연 시간 후에 동작하게 함 화면을 그리고 그린 후에 boolean 타입으로 결과를 반환함 False : 마지막 위치까지 감 True : 이동중 이동중이면 다시 유닛 핸들러를 지연 시간 후에 동작하게 함
보드게임 코딩하기 화면 그리기 if(Unit1==Unit1Move) 지금 위치와 갈려고 하는 위치에 대한 비교 Unit1 = (Unit1+1)%BGPanMask.length; 위치를 이동함 Unit1는 증가 전에는 그 위치에 있는 이미지를 지움 증가 후에 이동된 위치에 이미지 그림
보드게임 코딩하기 화면 그리기 public boolean DisplayUnit() 리턴 타입이 boolean False : 마지막 위치까지 감 True : 이동중
보드게임 코딩하기 전체 코딩에 대한 내용 변수와 함수 선언이 된 위치 확인