package card;
public class Game implements Runnable{
int numPlayers;
int startNumber;
//players and hands seperate so players can't change their cards
Player player[] = new Player[numPlayers];
Hand hands[] = new Hand[numPlayers];
Card topCard;
Deck deck;
public Game(){
int numPlayers=2;
int startNumber=7;
deck = new Deck();
for (int i=0; i<numPlayers; i++){
//naming of players and hands should be the same, I havn't figured the best way to do this yet
hands[i] = new Hand(deck, startNumber);
player[i] = new Player(""+i,hands[i]);
}
}
@Override
public void run() {
// TODO Auto-generated method stub
boolean InGame = true;
topCard = deck.drawCard();
while(InGame){
}
}
}
package card;
import java.util.ArrayList;
import java.util.Random;
public class Deck {
ArrayList<Card> cards;
public Deck(){
cards = new ArrayList<Card>();
for (int a=0; a<13; a++) {
for (int b=0; b<4 ; b++) {
cards.add(new Card(a,b));
}
}
shuffle();
}
private void swap(int i,int j){
Card buf = cards.get(i);
cards.set(i, cards.get(j));
cards.set(j, buf);
}
private void shuffle(){
Random rand = new Random();
for(int i=0; i<cards.size(); i++){
int ran = rand.nextInt(cards.size());
swap(i,ran);
}
}
public Card drawCard(){
if(cards.size() <= 0){
//
}else{
Card temp = (Card) cards.get(cards.size()-1);
cards.remove(cards.size()-1);
System.out.println("Card "+temp+" drawn from deck\n");
return temp;
}
return null;
}
}
package card;
import java.util.ArrayList;
public class Hand {
private ArrayList<Card> cards = new ArrayList<Card>();
private Card toPlay;
private Deck deck;
private final String name;
public Hand(Deck d, int num){
deck = d;
start(num);
}
private void start(int num){
for (int i=0; i<num; i++) {
pickUp();
}
}
public Card getCard(int i){
return (Card)(cards.get(i));
}
public int size(){
return cards.size();
}
public void setPlay(Card c){
toPlay = c;
}
public void print(){
for (int i=0; i<size(); i++){
System.out.println(cards.get(i));
}
System.out.println("\n\n");
}
private void pickUp(){
cards.add(deck.drawCard());
}
public Card play(Card topCard){
}
}
/*http://facepunch.com/showthread.php?t=1179730*/
package card;
public class Player {
private final String name;
private Hand myHand;
public Player(String name, Hand hand){
myHand = hand;
this.name = name;
}
public void turn(Card topCard);
}
package card;
public class Card {
private static String[] COLOR = {"red","black"};
private static String[] SUITS = {"heart","spade","club","diamond"};
private static String[] ranks = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Joker"};
private final int suit;
private final int color;
private final int values;
private final String name;
public Card(int val, int suit){
this.values = val;
this.suit = suit;
}
public String getNmae();
public int getSuit();
public int getVaule();
}