Мы говорили о списке значений, но на игровом поле их будет тринадцать. Создавать тринадцать отдельных переменных не очень хороший вариант, поэтому удобнее воспользоваться массивом списков значений. Каждый элемент массива будет списком значений. При создании игры логично будет создать отдельный класс, реализующий одну карту из колоды.
Допустим создан отдельный класс, реализующий карту из колоды с названием karta. Тогда можно создать список значений –каждый элемент которого будет иметь типkarta.
ArrayList<karta> lst = new ArrayList<karta>();
Для одной стопки карт можно создать отдельный класс, назовем егоstopka:
// Подключение класса для списка значений
import java.util.ArrayList;
// Класс стопки карт игрового поля
public class stopka
{
// Список значений
private ArrayList<karta> lst;
// Конструктор класса
public stopka()
{
//Создание пустого списка значений
lst = new ArrayList<karta>();
}
// Получение карты из списка по номеру
public karta get(int nom)
{
return lst.get(nom);
}
//Добавление новой карты в список
public void add(karta elem)
{
lst.add(elem);
}
// Удаление карты из списка по номеру
public void remove(int nom)
{
lst.remove(nom);
}
// Получение количества элементов в списке
public int size()
{
return lst.size();
}
// Удаление всех элементов списке
public void clear()
{
lst.clear();
}
}
Класс реализован на основании списка значений и в нем находятся все методы, необходимые для работы со списком (стопкой карт).Программный код класса stopkaявляется полностью законченным, и его можно использовать при создании игры. Для этого вам придется самостоятельнореализовать класс karta– класс для карты из колоды.
После создания классаstopkaможно создать массив для тринадцати стопок карт:
// Создание массива из тринадцати стопок карт
stopka[] stopki = new stopka[13];
После создания массива необходимо создать объект в каждом элементе массива:
for (int i=0;i<13;i++)
{
stopki[i] = new stopka();
}
Для обращения к необходимой стопке карт необходимо указать ее номер в квадратных скобках:stopki[0]. Чтобы получить самую первую карту из первой стопки карт необходимо записать так:stopki[0].get(0)