본문 바로가기

취미로 하는 게임코딩_gameCodingAsHobby/안드로이드 스튜디오로 게임 제작 익히기

게임명_카드윷_03_코딩

코딩할 내용은 다음과 같다.

 

YOOT 버튼을 클릭한다.

카드 4장은 각각 앞면,뒷면이 결정되어 나타난다.

결정된 카드 앞면 수에 맞는 문자열이 RESULT에 나타난다.

 

변수 정의

 

변수로 정의할 내용은 다음과 같다.

 

  • 카드 4개를 표시할 변수가 필요하다.
  • 버튼을 클릭할 때 마다 카드가 앞면, 뒷면으로 바뀌어야 하므로 이미지 card_0 , card_1을 넣을 변수가 필요하다.
  • 결과에 나타낼 도,개,걸,윷,모 를 저장할 변수가 필요하다.

MainActivity.kt 탭을 클릭한다.

onCreate함수 위에 변수를 만든다.

 

12번줄: 카드4개를 저장할 변수 imageViews를 만들고 배열(array)로 정의하여 저장한다. 

null(아무것도 없음)과 크기만 정하는 arrayOfNulls 함수를 사용한다.

타입은 ImageView로 정한다.

 

13번줄: 카드 이미지 2개를 넣을 변수 yootImg를 만들고 정수배열로 정의하고 저장한다.

숫자가 포함된 배열을 정의하는 intArrayOf 함수를 사용한다.

 

14번줄: 윷의 이름을 저장할 변수 yootName을 만들고 배열로 정의하여 저장한다.

배열을 정의하는 arrayOf 함수를 사용한다.

"모" , "도" , "개" , "걸" , "윷" 순서대로 0,1,2,3,4 의 인덱스 번호를 가진다.

이 번호를 사용해서 코드에서 카드의 개수와 글자를 맞출것이다.

 

onCreate 함수 설정

 

프로젝트를 시작하면 제일 처음 실행하는 onCreate함수에는 버튼과 이미지를 등록한다.

버튼에는 클릭했을 때를 대비하는 클릭리스너도 연결한다.

 

20번줄: findViewById함수로 버튼을 찾고 setOnClickListener함수를 붙이고 매개변수로 onButtonClick을 연결한다.

onButtonClick은 아직 만들지 않았기 때문에 빨간색이다.

 

22번줄: for 반복문을 사용하여 변수 imageViews 에 imageView 배열 4개를 순서대로 저장한다.

for 반복문은 '쌩초보 기초16'을 참조.

 

변수 onButtonClick 만들기

 

'클릭 리스너'가 클릭을 감지하면 onButtonClick 변수를 호출하여 실행한다.

클릭 리스너 사용 방법은 '세번째 프로젝트 만들기'의 방법과 같다.

버튼 이벤트를 처리하는 다른 방법은 '첫프로젝트 만들기'를 참조한다. 

 

onCreate함수 바깥에 변수 onButtonClick을 만든다.

 

변수 onButtonClick에 View의 OnClickListener를 저장한다.

실행 내용은 만약 id가 buttonYoot과 같으면 setGameResult함수를 실행한다.

 

setGameResult함수 만들기

 

버튼을 클릭했을 때 결과를 만들어낼 함수를 만든다.

 

 

34번줄: 카드의 인덱스 번호를 합하는 변수 cardSum을 만든다.

35~39번줄:

  1. 매개변수 i에 0을 넣는다.
  2. 변수num에는 랜덤으로 만든 0 또는 1을 넣는다. (예를 들어 0 이 나왔다고 치자)
  3. cardSum에 num 값을 해서 저장한다. (0+0=0 이 저장될 것이다)
  4. imageViews 배열 [0]번째(첫째 이미지)에 yootImg 배열 [0]번째 이미지인 card_0 이미지를 넣는다.
  5. 다시 돌아가서 매개변수 i에 1을 넣고 위의 과정(2~4)을 반복한다.
  6. 위 과정을 매개변수 i에 4가 될 때 까지 반복한다.

40번줄: 카드 4장 모두 앞면, 뒷면이 결정되면 cardSum값은 0부터 4까지 수 중에서 하나가 된다.

0이면 '모'

1이면 '도'

2이면 '개'

3이면 '걸'

4이면 '윷'

 

textViewResult의 text 속성에 cardSum값에 맞는 yootName 배열 값을 나타나게 한다.

 

여기까지 코드가 완성되었다.

프로젝트를 실행해서 확인한다.

 

끝.

Wraven...