1 / 1 / 0
Регистрация: 06.02.2015
Сообщений: 38
|
|
1 | |
.NET 4.x Покер. Консольное приложение. Два игрока28.12.2015, 01:24. Просмотров 1233. Ответов 11
Метки нет Все метки)
(
Всем привет! Идея примерно следующая. Покер. Консольное приложение. Два игрока. Вручную вводится имя и значения карт, например: Саша 3H, 4H, 5H, 6H, 8H ; Ваня 3C, 3D, 3S, 8C, 10D. Вывод: Победил игрок Саша(у него флэш).
Флэш - выиграшная комбинация, когда пять карт одной масти. Помогите реализовать. Всем будет полезно, спасибо за помощь!
0
|
|
28.12.2015, 01:24 | |
В консольное приложение вывести два веб-метода, которые обращаются к БД и извлекают из них информацию Как открыть консольное приложение в .NET через другое консольное приложение .NET Консольное приложение Консольное приложение |
|
967 / 862 / 349
Регистрация: 26.04.2012
Сообщений: 2,648
|
|
28.12.2015, 03:16 | 2 |
Не сказал бы. Мы-то и так умеем, а вы ничему не научитесь. Вот если бы вы выложили наработки и задали конкретный вопрос-другое дело
![]()
1
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 389
|
|||||||||||||||||||||
28.12.2015, 19:00 | 3 | ||||||||||||||||||||
![]() Решение
Пишу тебе програмку. Часть уже готова. Завтра скину.
Добавлено через 14 часов 23 минуты Кое-что уже набросал. Только карты выдаются случайным образом, а не пользователь вводит вручную (я так хочу!). Пока программа не сравнивает комбинации по силе, хотя коэффициенты я посчитал в отдельном файле. Может в какой другой денёк и реализую. Есть нюанс: некоторые функции начинаются со слова "Has" (HasPair). Если передать "руку" в эту функцию, когда на руке "две пары" или "фулл хаус", функция всё равно вернёт значение "true", точнее у меня там tuple, одно из значений которого является булевым типом. Поэтому в данном случае важно не менять порядок реализации тех функций. На данный момент программа первым делом проверяет на "Straight Flush", потом "Four of a Kind" и так далее и возвращает tuple при первом значении "true", то есть, если у игрока на руках "Full House", то на функции "IsFullHouse" программа вернёт "true" и не будет проверять является ли комбинация парой или сэтом. Добавлено через 17 секунд
Код
high card 2 — 1 3 — 2 4 — 3 5 — 4 6 — 5 7 — 6 8 — 7 9 — 8 T — 9 J — 10 Q — 11 K — 12 A — 13 A,K,Q,J,9 — 54 one pair 22,3,4,5 — 2 * x + 2 + 3 + 4 > 60 2 * x > 51 x > 25.5 x = 26 22 — 2 * 26 (52) 33 — 4 * 26 (104) .. — . * 26 KK — 24 * 26 (624) AA — 26 * 26 (676) AA,K,Q,J — 676 + 12 + 11 + 10 (709) two pair 22,33,4 — (52 + 104) * x + 4 > 709 156 * x > 705 x > 4.5 x = 5 22,33 — (52 + 104) * 5 (780) KK,AA — (624 + 676) * 5 (6,500) KK,AA,Q — 6,511 set 222,3,4 — 3 * x + 2 + 3 > 6,511 3 * x > 6,506 x > 2,168 x = 2,169 222 — 3 * 2,169 (6,507) 333 — 6 * 2,169 (13,014) AAA — 39 * 2,169 (84,591) AAA,K,Q — 84,591 + 12 + 11 = 84,614 straight 2-6 — (1 + 2 + 3 + 4 + 5) * x > 84,614 15 * x > 84,614 x > 5,640 x = 5,641 2-6 — 15 * 5,641 (84,615) T-A — 55 * 5,641 (310,255) flush 2,3,4,5,7 — (1 + 2 + 3 + 4 + 6) * x > 310,255 16 * x > 310,255 x > 19,390 x = 19,391 (2,3,4,5,7) - 16 * 19,391 (310,256) (9,J,Q,K,A) - 54 * 19,391 (1,047,114) full house 222,33 — (6,507 + 104) * x > 1,047,114 6,611 * x > 1,047,114 x > 158 x = 159 222,33 — (6,507 + 104) * 159 (1,051,149) 333,22 — (13,014 + 52) * 159 (2,077,494) AAA,KK — (84,614 + 624) * 159 (13,552,842) four of a kind 2222,3 — 4 * x + 2 > 13,552,842 4 * x > 13,552,840 x > 3,388,210 x = 3,388,211 2222 — 4 * 3,388,211 (13,552,844) AAAA — 52 * 3,388,211 (176,186,972) AAAA,2 — 176,186,972 + 1 (176,186,973) straight flush 2-6 — (1 + 2 + 3 + 4 + 5) * x > 176,186,973 15 * x > 176,186,973 x > 11,745,798 x = 11,745,799 2-6 — 15 * 11,745,799 = 176,186,985 T-A — 55 * 11,745,799 = 646,018,945
1
|
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 389
|
|
28.12.2015, 19:07 | 4 |
Понятия не имею зачем взял число 60 вместо 54. А переписывать влом. И так работает.
Добавлено через 3 минуты Может есть и несколько вариантов реализации нахождения выигрышной руки между игроками, но я это буду делать так: Сначала изменю функции (HasPair, IsFullHouse и т.д.) таким образом, чтобы tuple содержал в себе еще и количество очков. Реализацию этих очков я буду тоже писать в каждой из функций используя коэффициенты "x", которые я посчитал в файле. В классе Program (а может быть и нет) буду искать максимальное значение и выводить имя победителя. Всё! Добавлено через 3 минуты Так же моя программа выводит значения в файл на рабочем столе. Можно убрать комментарии цикла и просимурировать нное кол-во игр, потом открыть файл и проанализировать сколько раз выпала комбинация "Four of a Kind", к примеру.
1
|
1 / 1 / 0
Регистрация: 06.02.2015
Сообщений: 38
|
|
15.01.2016, 04:28 [ТС] | 5 |
Подскажите тогда с чего начать. Какие программки самому для начала пописать, куда подсмотреть ? проблем с C# вроде как нет. Есть проблема " с чего начать ".
0
|
1 / 1 / 0
Регистрация: 06.02.2015
Сообщений: 38
|
|
15.01.2016, 04:46 [ТС] | 6 |
Не так давно я создал тему:
Идея примерно следующая. Покер. Консольное приложение. Два игрока. Вручную вводится имя и значения карт, например: Саша 3H, 4H, 5H, 6H, 8H ; Ваня 3C, 3D, 3S, 8C, 10D. Вывод: Победил игрок Саша(у него флэш). Флэш - выиграшная комбинация, когда пять карт одной масти. Помогите реализовать. Всем будет полезно, спасибо за помощь. Ответив мне, меня полили кодом в который я не въехал. Так вот. Подскажите плиз с чего начать. Какие программки самому для пописать, куда подсмотреть, что и где почитать ? Проблем с C# вроде как нет, многое изучено, но сходу сесть и писать прогу не получается. Проблему описал. Спасибо.
0
|
967 / 862 / 349
Регистрация: 26.04.2012
Сообщений: 2,648
|
|
15.01.2016, 05:02 | 7 |
Как бы это она и есть, и вам даже написали код
![]() Одно противоречит другому. Если вы не в состоянии понять написанный код и не в состоянии написать вообще никакой свой-а какой изученности может идти речь? Придумайте себе любую задачу(для начала не очень сложную, та, что указана в теме, вполне бы подошла, и что вы ожидали получить, создавая тему-тоже абсолютно непонятно), и пишите. По ходу дела будет возникать вопросы-они решаются при помощи гугла и форума. Все вопросы, какие возникают у совсем начинающих, обычно миллион раз рассмотрены и решаются первой же ссылкой в гугле. А говорить о том, что что-то изучено, можно лишь после того, как вы станете свободно этим пользоваться в коде.
1
|
905 / 791 / 328
Регистрация: 08.02.2014
Сообщений: 2,388
|
|
15.01.2016, 09:55 | 8 |
По теме, если автор не собирается разбираться в предложенной ему реализации, то писать тебе комментарии к каждой строке тоже не будут, имея "знания C#" можно легко разобраться, что происходит и не будет фраз
0
|
Модератор
2764 / 1919 / 418
Регистрация: 26.03.2015
Сообщений: 7,122
|
|
15.01.2016, 13:27 | 9 |
0
|
308 / 316 / 119
Регистрация: 29.10.2011
Сообщений: 1,003
|
|
15.01.2016, 14:38 | 10 |
Человек Вам написал код потратив на это не мало времени, а ему в ответ:
![]() Поблагодарили бы хоть за проделанную работу.. Для начала чего? реализации покерной консольной игры? дак если "проблем с C# вроде как нет", то приступайте хоть сейчас. Проблема с алгоритмами - изучайте алгоритмы. Проблема с ООП - изучайте ООП. Боюсь дело в лени.. Прочитайте эту тему, может к чему-то придете. Разбирается именно логика игры Советы по оптимизация реализации игры в покер
0
|
1 / 1 / 0
Регистрация: 06.02.2015
Сообщений: 38
|
|
16.01.2016, 03:47 [ТС] | 11 |
Спасибо. Отличные советы, вы очень помогли.
0
|
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
Модератор
2764 / 1919 / 418
Регистрация: 26.03.2015
Сообщений: 7,122
|
||||||
16.01.2016, 20:07 | 12 | |||||
Перевёл с F# на C#. Из-за различий в синтаксисе получилось не 15, а 25 строк. Победитель определяется для любого количества игроков.
0
|
16.01.2016, 20:07 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Консольное приложение
Консольное приложение поиска Консольное приложение не создает файлы при запуске через Task Scheduler Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |