сделал как вы рекомендовали
Не, то что сделано - в топку.
Давай начнем пока с классов предметной области.
1. Нужен ли нам класс Колода? Какую функцию он будет выполнять? Выступать хранилищем карт и следить за тем чтобы все карты были разные, чтобы раздавались уникальные карты, будет отвечать за козыря, за порядок карт в колоде перед раздачей и в ходе игры, будет отвечать за цвет и дизайн рубашки - годится?
2. Колода состоит из карт (т.е. если ты рисуешь композицию, то она ромбом направлена на колоду). Нужно указать что колода состоит из Карт от 36 до 52, при этом рядом с Карта нужно поставить модификатор {set}, т.е. все карты уникальны.
3. Связи обобщения у тебя использованы некорректно. Т.е. неправильно. Полый треугольник говорит - "это".
Т.е. Игра - это Параметры, Игрок - это Игра, Карта - это Игрок. Звучит явно странно. Я бы пока не трогал обобщение, обобщать начнешь позже. Пока только ассоциации.
4. Игра - включает от 2 до 6 игроков (если колода 52 карты до
. Чем могут отличаться игроки? Ты говори, что одни реальный, другие компьютерные. Это уже сигнал для некоторого выделения общих понятий в абстрактный класс
Игрок. Но не спешим.
Игра включает колоду карт (одна кстати не измена), и распределение этих карт по игрокам. Т.е. Игрок имеет на руках карты. Сколько и какие карты - эту информацию следует хранить. При этом часть карт будут на руках, часть карт в колоде, часть карт в отбое, часть карт в ходе. Всю эту информацию нужно хранить и отображать на экране в процессе игры. Игра будет иметь также тип (определяя набор правил)
5. Каждая карта должна характеризоваться: Мастью, Номиналом. В ходе Игры карта - козырь или не козырь, на руках у игрока, в колоде или в отбое.
Пока у нас есть класс Игра, Игрок, Колода, Карта. Вполне допускаю, что они трансформируются в какие-то визуальные классы, ты же ведь игру будет визуализировать.
Но пока диаграмма новая гораздо хуже исходной.