Полезное

Мы Вконтакте

Discord канал

#
1 ... 89101112
Аватара пользователя
Пользователь
Сообщения: 244
yellyex писал(а):
В массив я добавил первую и вторую карты игрока 1. Если карты 1 и 2 или 2 и 1, то записываем победу (мини версия). Я не понимаю, как работать с лупами. Я вообще представления не имею, как там и что за что отвечает. Индексы, значения и так далее. Что дальше делать? :)

Не люблю я цикл ForEach, честно говоря. Контроля над ним мало при возникающей необходимости приходиться менять на полноценный For :)

Я бы порекомендовал тебе, пока что, отложить задачу покера в сторону и потренироваться только работать с циклами (на чистом проекте или где-то в стороне). Если хочешь так сделать - я тебе могу придумать несколько крайне простых задач на массивы, как выполнишь их - так сможешь более менее работать с ними и понимать их преимущество. Сейчас твоя ошибка в том (ну помимо непонимая массивов, конечно :) ), что ты работаешь не со всеми картами. Это именно проблема. Работать нужно со всеми 52 картами в колоде и (2 + 5 бордовых) - это не та ситуация, когда тебе кажется, что меньше - будет проще. В данном случае, меньше - будет намного запутаннее для тебя. Боюсь, даже для меня :)

Но сейчас тебе желательно приостановиться и порешать простые задачи с циклами. Покуда я тебе показывал как выбирать значения из массивов по их индексам, ты при мне выбирал и устанавливал на карты, при этом сейчас ты не знаешь как их выбрать из массива, как это возможно? :)

Кстати, а с чего ты вообще начал ForEach использовать? Там использование немного другое от обычного For, но как бы, наверное, лучше пользоваться тем, чем хотя бы умеешь уже. На первых, хотя бы, этапах. А дальше уже можно будет использовать любые какие тебе нравятся больше :)

Но это всё не важно, пока ты с массивами уверенно не научишься работать. Это очень просто! Но это тебя сейчас и тянет вниз. Если тебе показываешь готовое решение - ты его не запоминаешь и пользоваться им не можешь точно в такой же ситауции. Поэтому лучше просто поработай с массивами, чтобы обвыкнуться и потренироваться, а дальше сам не заметишь как будет проще и эту задачу доделывать.

По началу предлагаю такие промежуточные задачи:
1. Создай массив целых чисел и добавь в него (программно) числа: 7, 1, 8, 5, 10, 7
2. Пройдись циклом по всем элементам массива и выведи все на экран
3. Посчитай сумму всех элементов массива и выведи её на экран, в виде: sum = 35
4. Определи кодом, есть ли в массиве указанное целое число (например 8), если есть - выведи YES, если нет - выведи NO. Это надо сделать именно через For, а не через Contains :)
5. Выведи минимальное число в массиве.

Все эти задачи со второй используют For (не ForEach - это частный случай, лучше его не использовать, пока что). После того, как ты справишься с этими простыми задачами - ты легко сможешь разобраться с текущим кодом покера, покуда я задачи придумал специально таким образом, что покер это как раз следующий логичный шаг после 5ой задачи. :) Который НИЧУТЬ не сложнее пятой задачи. Попробуй. А то смысла не будет показывать тебе готовые решения, которыми ты всё равно потом не можешь воспользоваться, а так ты самостоятельно решишь, будешь чувствовать себя увереннее, да и работать с массивами будет проще.
Аватара пользователя
Пользователь
Сообщения: 34
UENewbie писал(а):
Если тебе показываешь готовое решение - ты его не запоминаешь и пользоваться им не можешь точно в такой же ситауции.

Это собственно то, о чем я и предупреждал. Есть проверенный столетиями подход к обучению, зачем изобретать велосипед? Был бы он гений или еще чего, я бы мог понять, но он не запоминает и не учиться на ходу, и как следствие нужно читать книжки и использовать методичный подход к обучению. Теория, практика, практика, теория...

PS Если показать ребенку как умножать 2 на 6, вы думаете он научится умножать? Ничего подобного.
_________________
https://docs.unrealengine.com/latest/INT/index.html
https://docs.unrealengine.com/latest/INT/API/index.html
В чем-то могу ошибаться, но всегда рад, если меня поправят.
Аватара пользователя
Пользователь
Сообщения: 176
План такой:

1. Записываем все нужные числа в массив.
2. Сортируем их по возрастанию.
3. Проверяем каждое число, начиная с меньшего числа, будет это число +1 равно числу стоящему выше или нет. Если нет, то стрита нет, если да, то проверяем дальше, кроме последнего числа. А хотя стойте. Вот тут я был прав. Чисел дальше будет 7, так как 2 карты у игрока и 5 на столе. И проверять по возрастанию, например 2 3 4 5 6, уже будет неверно. Так как могут остаться ещё числа 7 и 8. А вот если проверять их по убыванию, то проверка начнётся с наибольшего числа из всех, и тем самым покажет лучший стрит. Итак берём старшее число и делаем его -1, проверяем будет ли оно равно числу младше или нет. И так до пяти карт, а не все семь. Так как пять карт - это уже стрит, а остальное не важно.
Аватара пользователя
Пользователь
Сообщения: 244
YarRainbow
Не, ну я говорил о самом желании изучения, что оно выше, когда человеку покажешь как оно работает, он сразу запоминает это и использует это в дальнейшем. Я учил нескольких человек программированию и у всех желание не угасало, покуда я показывал им как просто сделать что-то, они моментально это запоминали и далее использовали в своих целях, комбинируя с другими решениями, что я показывал им ранее, потом они уже самостоятельно начали уметь не только комбинировать мои решения :), но и изучать новые и вводить их в работу. Основная моя мысль - главное, это толчёк. Учил я без денег, так что такой мотивации у них тоже не было :)

Подобная ситуация как сейчас для меня необычна. Я бы не стал её увязывать с тем, что не стоит изобретать велосипед и надо учиться только по книжкам. Такая ситуация бывает только в единственном случае, когда человек подходит не с позиции обучения, а типа такой: ну давайте покажите мне по-быстрому как тут что нужно написать, мне просто алгоритм этот нужен, а программирование нафиг учить я не буду. Обычно такое под продажу делается, либо под сдачу на сессии (с подобным отношением я сталкивался именно в такой ситуации). Поэтому, естетственно, человеку учить программирование не надо, а только, чтобы показали как оно сделать и валите нахрен.
Аватара пользователя
Пользователь
Сообщения: 176
Во-первых я не просил никого за меня придумывать алгоритмы и писать код. Я просто просил показать мне, как это будет выглядеть в массивах или спрашивал, можно ли также, как я уже сделал, только с массивами.

Во-вторых UENewbie, спасибо за задачки, я их попытаюсь выполнить, так как практика работы с массивами мне нужна.
Аватара пользователя
Пользователь
Сообщения: 176
Стрит готов.

Изображение
Аватара пользователя
Пользователь
Сообщения: 244
yellyex писал(а):
Стрит готов.

Изображение

Прикольно.
Аватара пользователя
Пользователь
Сообщения: 176
Всем привет! Как я уже говорил, то я уже сделал систему расчёта стрита. И на 10000 раздач я получил 420 стритов. Буду работать дальше. Собираюсь выложить полноценную игру в покер для двоих игроков, поэтому первый пост обновлять не спешу. Да и к тому же, кому интересен покер? :)

Код:
==========

13 12 11 10 9       =   СТ СТ-1 СТ-2 СТ-3 СТ-4
13 12 10 9 8 7 6    =   СТ СТ-1 СТ-3 СТ-4 СТ-5 СТ-6 СТ-7
13 12 9 8 7 6 5     =   СТ СТ-1 СТ-4 СТ-5 СТ-6 СТ-7 СТ-8
13 12 8 7 6 5 4     =   СТ СТ-1 СТ-5 СТ-6 СТ-7 СТ-8 СТ-9
13 12 7 6 5 4 3     =   СТ СТ-1 СТ-6 СТ-7 СТ-8 СТ-9 СТ-10
13 12 6 5 4 3 2     =   СТ СТ-1 СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13 12 5 4 3 2 1     =   СТ СТ-1 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 12 4 3 2 1      =   13 СТ-1 СТ-9 СТ-10 СТ-11 СТ-12

13 11 10 9 8 7      =   СТ СТ-2 СТ-3 СТ-4 СТ-5 СТ-6
13 11 9 8 7 6 5     =   СТ СТ-2 СТ-4 СТ-5 СТ-6 СТ-7 СТ-8
13 11 8 7 6 5 4     =   СТ СТ-2 СТ-5 СТ-6 СТ-7 СТ-8 СТ-9
13 11 7 6 5 4 3     =   СТ СТ-2 СТ-6 СТ-7 СТ-8 СТ-9 СТ-10
13 11 6 5 4 3 2     =   СТ СТ-2 СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13 11 5 4 3 2 1     =   СТ СТ-2 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 11 4 3 2 1      =   13 СТ-2 СТ-9 СТ-10 СТ-11 СТ-12

13 10 9 8 7 6       =   СТ СТ-3 СТ-4 СТ-5 СТ-6 СТ-7
13 10 8 7 6 5 4     =   СТ СТ-3 СТ-5 СТ-6 СТ-7 СТ-8 СТ-9
13 10 7 6 5 4 3     =   СТ СТ-3 СТ-6 СТ-7 СТ-8 СТ-9 СТ-10
13 10 6 5 4 3 2     =   СТ СТ-3 СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13 10 5 4 3 2 1     =   СТ СТ-3 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 10 4 3 2 1      =   13 СТ-3 СТ-9 СТ-10 СТ-11 СТ-12

13 9 8 7 6 5        =   СТ СТ-4 СТ-5 СТ-6 СТ-7 СТ-8
13 9 7 6 5 4 3      =   СТ СТ-4 СТ-6 СТ-7 СТ-8 СТ-9 СТ-10
13 9 6 5 4 3 2      =   СТ СТ-4 СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13 9 5 4 3 2 1      =   СТ СТ-4 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 9 4 3 2 1       =   13 СТ-4 СТ-9 СТ-10 СТ-11 СТ-12

13 8 7 6 5 4        =   СТ СТ-5 СТ-6 СТ-7 СТ-8 СТ-9
13 8 6 5 4 3 2      =   СТ СТ-5 СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13 8 5 4 3 2 1      =   СТ СТ-5 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 8 4 3 2 1       =   13 СТ-5 СТ-9 СТ-10 СТ-11 СТ-12

13 7 6 5 4 3        =   СТ СТ-6 СТ-7 СТ-8 СТ-9 СТ-10
13 7 5 4 3 2 1      =   СТ СТ-6 СТ-8 СТ-9 СТ-10 СТ-11 СТ-12
13! 7 4 3 2 1       =   13 СТ-6 СТ-9 СТ-10 СТ-11 СТ-12

13 6 5 4 3 2        =   СТ СТ-7 СТ-8 СТ-9 СТ-10 СТ-11
13! 6 4 3 2 1       =   13 СТ-7 СТ-9 СТ-10 СТ-11 СТ-12

13 5 4 3 2 1        =   СТ СТ-8 СТ-9 СТ-10 СТ-11 СТ-12

13! 4 3 2 1         =   13 СТ-9 СТ-10 СТ-11 СТ-12

! - Должно быть именно 13, а не старшая карта.
Стриты располагаться должны от меньшего к большему.
13 - это старшая карта, от которой ведётся дальнейший расчёт.
СТ - Старшая карта из семи карт.

==========
Аватара пользователя
Пользователь
Сообщения: 176
Ошибочка. У меня стриты выстроены не по силе. Переделал и теперь они выглядят вот так:

Код:
==========

13! 4 3 2 1
13! 6 4 3 2 1
13! 7 4 3 2 1
13! 8 4 3 2 1
13! 9 4 3 2 1
13! 10 4 3 2 1
13! 11 4 3 2 1
13! 12 4 3 2 1

13 5 4 3 2 1
13 7 5 4 3 2 1
13 8 5 4 3 2 1
13 9 5 4 3 2 1
13 10 5 4 3 2 1
13 11 5 4 3 2 1
13 12 5 4 3 2 1

13 6 5 4 3 2
13 8 6 5 4 3 2
13 9 6 5 4 3 2
13 10 6 5 4 3 2
13 11 6 5 4 3 2
13 12 6 5 4 3 2

13 7 6 5 4 3
13 9 7 6 5 4 3
13 10 7 6 5 4 3
13 11 7 6 5 4 3
13 12 7 6 5 4 3

13 8 7 6 5 4
13 10 8 7 6 5 4
13 11 8 7 6 5 4
13 12 8 7 6 5 4

13 9 8 7 6 5
13 11 9 8 7 6 5
13 12 9 8 7 6 5

13 10 9 8 7 6
13 12 10 9 8 7 6

13 11 10 9 8 7

13 12 11 10 9

==========

Аватара пользователя
Пользователь
Сообщения: 244
yellyex писал(а):
Ошибочка. У меня стриты выстроены не по силе. Переделал и теперь они выглядят вот так:

Но лучше бы ты, конечно, выучил массивы. Жизнь стала бы куда проще :)


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница