Полезное

Мы Вконтакте

Discord канал

#
12345 ... 12
Аватара пользователя
Пользователь
Сообщения: 176
Люди, я не понимаю в чём проблема. В самой кнопке выставил ссылку на переменную типа ТЕКСТ, которая задаётся в евенте. В выводе простого текста на экран всё прекрасно работает, а на кнопке нет. И самое смешное, что я когда первый раз это сделал у меня работало. Потом я отлучился на пол часа. Ах ну да, я удалил после этого всё и решил, что когда вернусь сделаю красиво. Почему не работает?

Изображение
Аватара пользователя
Пользователь
Сообщения: 176
Проблема решена. Редактор не воспринимает переменные на русском языке. Как только я сделал текстовую переменную на английском языке, всё отлично заработало.

Анн нет! Не в языке дело, а в пробелах!

И не в пробелах! :))) Наверное в квадратных скобках. :)

Да, в них!
Аватара пользователя
Пользователь
Сообщения: 176
Пытаюсь найти функцию сравнения двух чисел. Не могу найти.
Аватара пользователя
Пользователь
Сообщения: 244
Очень интересная тема, буду следить :)

По поводу переменных на русском - ох я бы не рекомендовал вам к такому приучать себя :) Во-первых, проблемы могут начаться в последующих версиях с русском языком. Во-вторых, если прийдётся из кода доступаться до таких переменных, то тут тоже могут быть проблемы. В-третьих, если захотите продать такую игру - даже с комментариями на русском нет желающих покупать, не говоря уже о переменных :) В-четвёртых, да и не настолько сложнее именовать переменные на англе, зато универсально :)
Аватара пользователя
Пользователь
Сообщения: 564
В сэмплах есть пример карточной игры - разбери ее и не изобретай велосипед.
Аватара пользователя
Пользователь
Сообщения: 176
Hoyt Ridge писал(а):
В сэмплах есть пример карточной игры - разбери ее и не изобретай велосипед.

Да я в курсе, что такая игра есть. Я решил изначально идти не полной версией покера, а взять основы и принципы построения логики этой игры. Возможно я возьму из того примера сами карты, а вот путь создания будет моим личным.
Аватара пользователя
Пользователь
Сообщения: 244
yellyex писал(а):
На данный момент я придумываю, как не писать все силы рук вручную, а уметь определять их, после сдачи игрокам. Это важно, так как в будущем ожидаются миллионы комбинаций.

Конечно. Это правильно. Я не вижу вообще никакой проблемы здесь. Масть - не важна, если она только не совпадает с такой же мастью при одинаковом достоинстве у тебя в руке (или тоже самое совпадение с картами на борде). По-любому, нужно ввести базовые компинации: пара, две пары, трипс/сет, стрит, флеш и т.д.

Алгоритм детекта должен проходить в несколько этапов:

Код:
Считаем сколько у нас одинаковых мастей (--> nCount)
if ( nCount == 5 ) {
   
   Проверяем достоинства на: роял флэш, стрит флэш, флэш
   
} else {
   
   Считаем несколько раз сколько у нас карт одинакового достинства (мы уже знаем, что одинаковых мастей < 5, соответственно, 3 комбинации уже позади)
   Несколько этих подсчётов лучше в массив уложить, т.к. пара может быть на борде, пара может быть у нас, а может оказаться вообще каре.
   И потом смотрим по каждому элементу, сколько карт у нас одинакового достоинства (вместе [u]с учётом борда[/u])   
   
}


Реализацию последнего массива удобнее делать в виде HashMap, типа: std::map < std::string, unsigned short > hashMap. Тогда получится:
hashMap[ "K" ] = 3; // 3 карты достоинства: Король (3 короля)
hashMap[ "10" ] = 3; // 3 десятки (в зависимости от этого либо трипс, либо сет)
и т.д. - добавляем в этот массив только те достоинства, что встретились нам. Потом проверять будет удобнее.

Но мне интересно будет как ты это будешь делать на блюпринтах, я их только неделю как изучаю, жесть как необычно и очень тяжко даётся. Поэтому будет интересно взглянуть.
Аватара пользователя
Пользователь
Сообщения: 176
UENewbie, спасибо за совет! В теории я продумывал эту систему от наивысшей силы к самой низкой. От флэш рояля до старшей карты. Но так как у меня флэш - это всего две карты, то это и будет наивысшей силой руки. Система для начала такая: Игрок1 - Карта1(Ранг) = Случайное число от 1 до 4. Игрок1 - Карта1(Масть) = Случайное число от 1 до 2. Прибавляем к друг другу полученные числа и получаем уникальное число, например 42. 4 - это ранг карты, а 2 - это масть. В дальнейшем такое сочетание будет для всех 52 карт. Эти числа будут уникальны и просто напросто не смогут повторяться. Тоже самое проделываем и для Игрок1 - Карта 2. Получаем, например, 32 и 31.

Чтобы выявить, например, пару, то делаем вот что: Рука у нас - карта1 - 32, карта2 - 31. Проверяем есть ли в руке игрока1 два одинаковых числа в слоте1, который отвечает за ранг карты. Если есть, то проверяем достоинство, то есть, пара чего, троек, двое, тузов и так далее. Такой шаблон применим и к флешу, только вместо ранга проверяем масти. Для каждой покерной комбинации будет свой шаблон проверки. Одни полегче, другие посложнее. Это всё пока теория, поэтому я не пишу это в первый пост.

И да, у меня тут летние дела нарисовались, так что я пару деньков от компа буду отдыхать! И всем советую тоже :)))
Аватара пользователя
Пользователь
Сообщения: 176
Доброе утро дорогие мои! Итак, входе разработки я столкнулся с некоторыми трудностями. У меня задача сдать две разные карты одному игроку. Чисел всего два - 1 и 2. В первом варианте всё прекрасно работает. во втором варианте я пытаюсь сравнить полученные числа, и если они разные то перейти к выполнению действия. В данном случае - это вывести результат на вторую карту. Но тут я беру значение не после сравнения, а до. Поэтому карты могут совпадать. Вот в третьем варианте я пытаюсь задать значение карте №2 уже после сравнения, то есть только после того, как карты уже отличаются друг от друга. Но не могу никак присвоить это значение. Помогите пожалуйста кто знает. Заранее благодарю!

№1
Изображение


№2
Изображение


№3
Изображение
Аватара пользователя
Пользователь
Сообщения: 176
Решил! Как-то так. По-моему всё чётко.

Изображение


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

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