Добрый вечер, я новичок и занимаюсь самообучением и есть задачка, часть я сделал, часть мне помогли, а часть осталась. Был бы рад если бы вы могли помочь и объяснить что и как.
Вот условия:
Есть 4 класса и потом по ним надо запустить программу.
1.Класс Card. Включает в себя value и suit.
Value 1-13, когда 1-это туз, 2-10 - это 2-10, 11 - это валет, 12 - это королева, 13 - это король. Большее бьет меньшее, туз бьёт всех остальных.
Когда value карт равны смотрят на suit.
Suit 1-4, когда 1-это бубны, 2-это пики,3-это червы, 4-это трефы. Большее бьет меньшее.
Две методы у этого класса:
init что получает value и suit
gt что получает карту и сравнивает её с существующей картой. Если существующая карта выше - возвращаетTrue, если нет- False.
2_Класс Deck
Характеристика класса: включает в себя целую колоду карт - 13 каждого вида, всего 52.
Это будет список/лист Cards
Методы:
cards_shuffle случайный образом перемешивает карты(можно использовать функцию shuffle) метода не получит ничего и ничего не вернет.
init что загрузит целую колоду, то есть создаст целую колоду из 52 карт.
deal_one вытянет одну случайную карту из колоды, должна вернуть(реторн) карту что она вытащила.
3)Класс Player
Характеристики класса: Имя, колода карт игрока и количество карт что игрок получит. количество карт решится в с началом новой игры и по умолчанию будет 26.
Можно будет поменять что количество карт будет другим, в лбом случае количество карт не будет больше 26 и меньше 10.
Методы:
init получит имя игрока и количество карт что нужно раздать каждому игроку(по умолчанию 26, если получит больше 26 или меньше 26, будет 26) Метода загрузит колоду карт игрока как чистый лист.
set_hand - получает колоду карт игры(из deck) г раздает из нее случайные карты для игрока, по количество карт которые этот игрок должен получить. Использовать методу deal_one. метода ничего не возвращает(реторн)
get_card вытаскивает случайную карту и колоды игрока, метода реторн карту что вытащила.
add_card - метода получает карту и добавляет ее в колоду карт игрока. Ничего не реторн.
4) класс CardGame.
Характеристики класса: колода карт (типа DecOfCards) и 2 игрока(типа Player).
Методы класса:
1. _init_ получает имена игроков и количество карт которые нужно распределить каждому игроку(.по умолчанию 26, если получает число выше, чем 26 или ниже 10, число будет равняться 26) Метод вызовет метод newgame в разделе 2: ==>
2. Метод new_game которая размешает колоду и раздаст карты игрокам. Нужно использовать подходящие методы из классов. Метод ничего не возвращает. Метод должен вызываться только из Констрактор. Если по какой-либо причине, метод объявляется после того, как игра уже началась, он распечатает «Ошибка» и ничего не выполнит.
3. Метод get_winner который возвращает победителя из игроков. Победителем является игрок, оставшийся с наибольшим количеством карт и если количество карт одинаковое у обоих игроков, он вернет None
5) Сама программа. Получает имена игроков и начинает новую игру с 26 картами на каждого игрока. В начале игры программа print для каждого игрока его имя и карты что он получил.
а) После начала игры, программа сыграет 10 раундом игры Пьяница.
б)В каждом раунде игрок кидает случайную карту из его колоды.
в)Игрок с самой большой картой побеждает и берет себе две другие карты из тех что выпали у других игроков.
г) Распечатай карты что были в каждом раунде и победитель каждого раунда.
В конце игры распечатай данные игрока что выиграл в игре, если была ничья - распечатай ничью.