package de.CardGame.sample;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
public class CardUtils {
public final static int CardWidth = 50;
public final static int CardHeight = 80;
public final static int spades = 9824;
public final static int hearts = 9829;
public final static int diamonds = 9670;
public final static int clubs = 9827;
public final static Bitmap BackSide = generateBack();
public static Deck generateDeck(Context mContext) {
Card c;
Deck d = new Deck(mContext, generateBack());
int[] suits = { spades, hearts, diamonds, clubs };
String[] values = { "2", "3", "4", "5", "6", "7",
"8", "9", "10", "J", "Q", "K", "A" };
for(int x=0; x < suits.length; x++) {
for(int y=0; y < values.length; y++) {
c = new Card(mContext, 20, 20, values[y], suits[x],
generateFace(values[y], suits[x]));
d.pushCard(c);
}
}
return d;
}
private static Bitmap generateBack() {
Bitmap back = Bitmap.createBitmap(CardWidth, CardHeight,
Bitmap.Config.ARGB_8888);
Canvas can = new Canvas(back);
Paint pnt = new Paint();
pnt.setColor(Color.GRAY);
pnt.setStyle(Paint.Style.FILL);
can.drawRoundRect(new RectF(0,0,CardWidth,CardHeight), 5, 5, pnt);
return back;
}
private static Bitmap generateFace(String value, int suite) {
Bitmap face = Bitmap.createBitmap(CardWidth, CardHeight,
Bitmap.Config.ARGB_8888);
Canvas can = new Canvas(face);
Paint pnt = new Paint();
pnt.setStyle(Paint.Style.FILL);
pnt.setColor(Color.WHITE);
can.drawRoundRect(new RectF(0,0,CardWidth,CardHeight), 5, 5, pnt);
pnt.setTextSize(15);
if(suite == diamonds || suite == hearts)
pnt.setColor(Color.RED);
else
pnt.setColor(Color.BLACK);
can.drawText(value, (CardWidth/2)-7, (CardHeight/2)-7, pnt);
can.drawText(String.valueOf((char)suite),(CardWidth/2)-10,(CardHeight/2)+7,pnt);
return face;
}
}