모바일 맞고 게임5-4(획득 카드 보기 화면 구현)
DevSource/맞고 2012. 12. 27. 18:57 |획득 카드를 볼때 예전에는 아무것도 없었지만,
이번 강좌에서는 카드를 내고 먹을 수가 있으니, 획득한 카드를 보여주는 작업이 필요합니다.
획득한 카드를 보여주는 함수는 drawAcquireCards() 함수로,
예전에 이미 절반 정도는 구현해 놓았었지요.
이번 시간에는 지난 시간 까지 만들어 놓았던 함수에 이어서,
획득한 카드를 각각의 위치에 출력 시켜주는 것을 구현해 보도록 하겠습니다.
지난 시간까지는 drawAcquireCards() 함수에서,
돈, 아이디와 같은 아이콘을 출력하고, 플레이어의 타입과 돈을 출력해주고,
그 밖에 여러가지 정보와 확인 버튼을 출력해주었었죠.
이번 시간에는 그 뒤에 다음의 내용을 추가해 줍니다.
int i, j; // 광을 그려준다. for(i=0; i<room.MAX_KWANG; i++) { if( room.getUserSlot(whoseAcquireCards, KWANG, i) != room.CARD_NULL ) drawCard(acquireCardPos[KWANG].left+13*i, |
먼저 GameView 클래스의 initPos() 함수에서 좌표를 초기화 할때 정했던, 좌표 배열에,
획득 카드 표시 시의 카드 좌표가 미리 다 정의되어 있기 때문에, 그 좌표에 그대로 출력만 해주면 됩니다.
단지 광, 열, 띠는 그냥 쭈욱 한줄에 출력을 해주지만,
피의 경우에는 한줄에 6개씩만 출력해 주기 위해 두개의 for 루프가 돌아간다는 것이 다르죠.
카드를 다 출력했다면, 좀더 쉬운 점수 계산을 위해 피의 갯수를 출력해 줄 필요가 있습니다.
피의 개수는 room 클래스의 getNumOfPee() 라는 함수를 이용해서 얻어 올 수 있습니다.
/** * 피의 갯수를 구해온다. * @param userType * @return */ public int getNumOfPee(int userType) { int numOfPee = 0; for(i=0; i<MAX_PEE; i++) { if(cardsPee[userType][i] == CARD_NULL) break; if(cardsPee[userType][i] != EMPTY_CARD) { switch( gCard.getType(cardsPee[userType][i]) ) { case CARDTYPE_PEE: /* 일반 피일때, */ numOfPee++; // 한장으로 계산. break; case CARDTYPE_SSANG_PEE: /* 쌍피 일때, */ numOfPee += 2; // 두장으로 계산. break; case CARDTYPE_THREE_PEE: /* 쓰리피 일때, */ numOfPee += 3; // 세장으로 계산. } } } return numOfPee; } |
단순히, 0번 부터 피의 갯수만큼 루프를 돌면서, 피가 CARD_NULL 이 아니라면,
해당 피가 쌍피일댄 2을 더하고, 쓰리 피일땐 3, 일반 피일때는 1을 더 하는 식으로 해서,
피의 개수를 구해 오는 것입니다.
피의 개수를 구해왔다면, 이제 피의 개수를 화면에 출력해 줍니다.
피의 개수를 출력할 때, 피의 개수를 표시할 배경 border를 그려야 하는데,
피의 개수가 두자리수라면, 즉, 10 이상이라면 border의 폭이 조금 더 넓어야 하겠죠.
그래서 다음과 같이 해 줍니다.
if(numOfPee < 10) borderWidth = 6; else borderWidth = 10; |
피의 개수가 10 이하일 때에는 border의 폭을 6으로, 10 이상일 때에는 border의 폭을 10으로 해주는것이죠.
그리고 이제 drawNum() 함수를 이용해서 피의 개수를 출력 해주면,
다음과 같은 획득 카드 화면이 뜹니다.
< 플레이어의 획득 카드 보기 화면> |
'DevSource > 맞고' 카테고리의 다른 글
모바일 맞고 게임6-2(기본 게임 룰 및 점수 계산 구현) (0) | 2012.12.27 |
---|---|
모바일 맞고 게임6-1(맞고 게임룰 설명) (0) | 2012.12.27 |
모바일 맞고 게임5-3(게임 내 카드 처리 구현) (0) | 2012.12.27 |
모바일 맞고 게임5-2(카드 나눠주기 구현) (0) | 2012.12.27 |
모바일 맞고 게임5-1(실제 맞고 게임의 구현) (0) | 2012.12.27 |