import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new CardGame(this));
}
}
------------------------------------------------------------------
package com.example.test2;
public class Card {
public static final int Card_SHOW = 0;
public static final int Card_CLOSE = 1;
public static final int Card_PLAYEROPEN = 2;
public static final int Card_MATCHED = 3;
public static final int Card_IMG1 = 1;
public static final int Card_IMG2 = 2;
public static final int Card_IMG3 = 3;
public static final int Card_IMG4 = 4;
public static final int Card_IMG5 = 5;
public static final int Card_IMG6 = 6;
public int m_Card;
public int m_state;
public Card(int _Card){
m_state = Card_SHOW;
m_Card = _Card;
}
}
-------------------------------------------------------------
package com.example.test2;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.view.View;
public class CardGame extends View {
public static final int STATE_READY = 0;
public static final int STATE_GAME = 1;
public static final int STATE_END = 2;
private int m_state = STATE_READY;
Bitmap m_BackGround;
Bitmap m_Card_Backside;
Bitmap m_Card1;
Bitmap m_Card2;
Bitmap m_Card3;
Bitmap m_Card4;
Bitmap m_Card5;
Bitmap m_Card6;
Card m_Shuffle[][];
public CardGame(Context context) {
super(context);
m_BackGround = BitmapFactory.decodeResource(getResources(), R.drawable.background);
m_Card_Backside = BitmapFactory.decodeResource(getResources(), R.drawable.cardback);
m_Card1 = BitmapFactory.decodeResource(getResources(), R.drawable.a1);
m_Card2 = BitmapFactory.decodeResource(getResources(), R.drawable.a2);
m_Card3 = BitmapFactory.decodeResource(getResources(), R.drawable.a3);
m_Card4 = BitmapFactory.decodeResource(getResources(), R.drawable.a4);
m_Card5 = BitmapFactory.decodeResource(getResources(), R.drawable.a5);
m_Card6 = BitmapFactory.decodeResource(getResources(), R.drawable.a6);
m_Shuffle = new Card[3][4];
m_Shuffle[0][0] = new Card(Card.Card_IMG1);
SetCardShuffle();
}
public void onDraw(Canvas canvas) {
canvas.drawBitmap(m_BackGround, 0, 0, null);
for(int y = 0; y < 4; y++){
for(int x = 0; x < 3; x++)
if(m_Shuffle[x][y].m_state == Card.Card_SHOW ||
m_Shuffle[x][y].m_state == Card.Card_PLAYEROPEN ||
m_Shuffle[x][y].m_state == Card.Card_MATCHED) {
if(m_Shuffle[x][y].m_Card == Card.Card_IMG1)
canvas.drawBitmap(m_Card1, 35 + x*90, 90 + y*80, null);
else if(m_Shuffle[x][y].m_Card == Card.Card_IMG2)
canvas.drawBitmap(m_Card2, 35 + x*90, 90 + y*80, null);
else if(m_Shuffle[x][y].m_Card == Card.Card_IMG3)
canvas.drawBitmap(m_Card3, 35 + x*90, 90 + y*80, null);
else if(m_Shuffle[x][y].m_Card == Card.Card_IMG4)
canvas.drawBitmap(m_Card4, 35 + x*90, 90 + y*80, null);
else if(m_Shuffle[x][y].m_Card == Card.Card_IMG5)
canvas.drawBitmap(m_Card5, 35 + x*90, 90 + y*80, null);
else if(m_Shuffle[x][y].m_Card == Card.Card_IMG6)
canvas.drawBitmap(m_Card6, 35 + x*90, 90 + y*80, null);
}
else
canvas.drawBitmap(m_Card_Backside, 35 + x*90, 90 + y*80, null);
}
}
public void SetCardShuffle() {
m_Shuffle[0][0] = new Card(Card.Card_IMG1);
m_Shuffle[0][1] = new Card(Card.Card_IMG2);
m_Shuffle[0][2] = new Card(Card.Card_IMG3);
m_Shuffle[0][3] = new Card(Card.Card_IMG4);
m_Shuffle[1][0] = new Card(Card.Card_IMG5);
m_Shuffle[1][1] = new Card(Card.Card_IMG6);
m_Shuffle[1][2] = new Card(Card.Card_IMG6);
m_Shuffle[1][3] = new Card(Card.Card_IMG5);
m_Shuffle[2][0] = new Card(Card.Card_IMG4);
m_Shuffle[2][1] = new Card(Card.Card_IMG3);
m_Shuffle[2][2] = new Card(Card.Card_IMG2);
m_Shuffle[2][3] = new Card(Card.Card_IMG1);
}
}
여기서 public void SetCardShuffle 이부분에 카드섞는코드를 적는거 같은대 멀 어찌 적어야 하는거죠;
예재를 보고 했는대 셔플로 카드를 섞는 방법은 안나와잇고 그냥 위치를 정해주는것만 나와있네요; 인터넷에서 찾아보면서 해봤는대 실행은 되고 섞는건 안되네요;
카드섞는 방법 shuffle말고 Random이라도 가능하면 알려주세요.