class Deck {
//колода міститиме масив карт типу Card
Card [] cards = new Card[52];
//номер верхньої карти у колоді
int currentCard;
Deck () {
//починаючи з першої карти
currentCard=0;
for (int i=0; i<4; i++)
for (int j=0; j<13; j++)
{
//створюємо карту, викликаючи метод new Card
cards[currentCard]=new Card(suit[i], ranks[j]);
//номер поточної карти збільшуємо на 1
currentCard++;
}
//зменшуємо номер поточної карти на 1, бо в циклі він вийшов за 52
currentCard=currentCard-1;
}
//метод показу колоди
void show(){
for (int i=0; i<=currentCard; i++)
{
//для кожної карти друкуємо її масть та значення
println(cards[i].mast, cards[i].value);
}
}
//метод перемішування колоди
void mix(){
for (int i=0; i<=currentCard; i++) {
//випадкова карта, з якою буде мінятись місцями кожна із карт колоди
int rnd= int(random(currentCard));
//обмін даними між двома змінними типу Card
Card temp=cards[i];
cards[i]=cards[rnd];
cards[rnd]=temp;
}
}
//метод показу верхньої карти колоди
void show_top() {
println(cards[currentCard].mast, cards[currentCard].value);
}
//метод видачі верхньої карти колоди - повертає у проект значення типу Card
Card give_top() {
currentCard=currentCard-1;
return (cards[currentCard+1]);
}
}
Клас Гравець
class Player {
//гравець матиме карти у вигляді масиву
Card [] cards = new Card[52];
//кількість карт гравця
int currentCard;
//ім'я гравця
String name;
// при створенні гравця задається його ім'я та кількість карт 0
Player(String tname){
name=tname;
currentCard=0;
}
// метод отримання карти
void get_card(Card karta){
// додаємо карту до масиву карт
cards[currentCard]=karta;
// збільшуємо кількість карт
currentCard=currentCard+1;
}
//метод показу колоди
void show(){
//чия колода
print(name, "має ");
// у тому ж рядку карти гравця
for (int i=0; i < currentCard; i++)
{
print(cards[i].value, cards[i].mast, " ");
}
println();
}
}