System.out.println("Hello, World");

카드 뒷면과 3장의 카드들



카드게임을 시작하게 되면 카드는 모두 뒤집은 상태에서 시작하게 된다. 그리하여 뒤집힌 카드를 먼저 구현하기로 한다.

아까와 똑같이 카드뒷면을 변수로 추가해주고, 이미지 정보를 불러온다.


public class CardKingView extends View {

Bitmap m_BackGroundImage;

Bitmap m_Card_BackSide;


public CardKingView(Context context) {

super(context);

m_BackGroundImage = BitmapFactory.decodeResource(getResources(),R.drawable.background,null); m_Card_BackSide = BitmapFactory.decodeResource(getResources(), R.drawable.backside,null);

}

public void onDraw(Canvas canvas)

{

canvas.drawBitmap(m_BackGroundImage, 0,0,null);

}

}

이제 카드 이미지를 4x3으로 깔도록 한다. 

public void onDraw(Canvas canvas)

{

canvas.drawBitmap(m_BackGroundImage, 0,0,null);

for(int y=0; y<2; y++){

for(int x=0; x<3; x++)

{

canvas.drawBitmap(m_Card_BackSide, 60+x*120, 280+y*170,null);

}

}

}



만약 카드 이미지를 띄웠는데 해상도가 맞지않아 카드들이 서로 겹치게 출력된다면 60+x*120, 280+y*170
이부분에 있는 수식들을 조금씩 바꿔가면서 위치를 맞추도록 한다.

뒤집한 카드의 위치 표 

 Y값 X값 m_Card_BackSide를 그리는 위치 
0 (60+X*12, 280+Y*160) = (60 , 280) 
0 1 (60+X*12, 280+Y*160) = (72 , 280)    
0 2 (60+X*12, 280+Y*160) = (84 , 280) 
 1  0 (60+X*12, 280+Y*160) = (60 , 440) 
 1  1 (60+X*12, 280+Y*160) = (72 , 440) 
 1  2 (60+X*12, 280+Y*160) = (84 , 440)   

 

Posted by 김마농