Доброго дня! Тем беспокоит меня уже давно, однако догнала она меня только сейчас. Необходимо реализовать в таблице эффект условной вероятности. Есть "колода карт" (52 карты без джокеров). Есть неопределённое количество элементов, порядок которых зависит от присвоенных им карт. Изначально у меня было два генератора (масть 1-4 и силы 1-13 карты). Проблема однако не в этом. Необходимо, чтобы карты не выпадала дважды. Организовал самопальный XOR (реализованный через СУММ(ЕСЛИ())), который позволил определять есть ли повторение в выпавших картах. Остался, в принципе последний шаг: в случае определения совпадений провоцировать обновление данных. Вопрос как? Однако, данный способ не эффективен: он жрёт машинное время (а чем больше будет элементов, тем дольше он будет пытаться выбросить подходящее сочетание). Во вторых, игроки с более высокой инициативой (об этом в свойлере) выигрывают от многократных перекидываний значительно больше, чем игроки с низкой. Зачем это вообще надо.
Проверять случайные данные на совпадения мне требовалось и раньше. Дикий XOR через сумму с условием пришёл ко мне в голову, когда ещё он не был стандартной функцией. Сейчас перед до мной задача не такая важная и серьёзная, но тем не менее достаточно интересная, чтобы потратить на неё моё и Ваше время. Есть ролевики. Ролевики играют боевою сцену. В боевой сцене порядок действия персонажей определяется вытянутой картой. Действие дают только пики. Ранг карты определяет порядок персонажей в течении раунда. Количество вытянутых карт зависит от инициативы персонажей, которыми управляют ролевики. Ролевик выбирает лучшую карту из выпавших ему. Карты сдаются в колоду только после завершения раунда.
Доброго дня! Тем беспокоит меня уже давно, однако догнала она меня только сейчас. Необходимо реализовать в таблице эффект условной вероятности. Есть "колода карт" (52 карты без джокеров). Есть неопределённое количество элементов, порядок которых зависит от присвоенных им карт. Изначально у меня было два генератора (масть 1-4 и силы 1-13 карты). Проблема однако не в этом. Необходимо, чтобы карты не выпадала дважды. Организовал самопальный XOR (реализованный через СУММ(ЕСЛИ())), который позволил определять есть ли повторение в выпавших картах. Остался, в принципе последний шаг: в случае определения совпадений провоцировать обновление данных. Вопрос как? Однако, данный способ не эффективен: он жрёт машинное время (а чем больше будет элементов, тем дольше он будет пытаться выбросить подходящее сочетание). Во вторых, игроки с более высокой инициативой (об этом в свойлере) выигрывают от многократных перекидываний значительно больше, чем игроки с низкой. Зачем это вообще надо.
Проверять случайные данные на совпадения мне требовалось и раньше. Дикий XOR через сумму с условием пришёл ко мне в голову, когда ещё он не был стандартной функцией. Сейчас перед до мной задача не такая важная и серьёзная, но тем не менее достаточно интересная, чтобы потратить на неё моё и Ваше время. Есть ролевики. Ролевики играют боевою сцену. В боевой сцене порядок действия персонажей определяется вытянутой картой. Действие дают только пики. Ранг карты определяет порядок персонажей в течении раунда. Количество вытянутых карт зависит от инициативы персонажей, которыми управляют ролевики. Ролевик выбирает лучшую карту из выпавших ему. Карты сдаются в колоду только после завершения раунда.
Алгоритм выбора/дейсвий поподробнее бы, потому что разбираться в ваших формулах - смысла не особо. Я уже отсюдавижу, что надо поменять сам алгоритм.
Как игроки выбирают карты (разбирают колоду, что ли - иначе как у перса может оказаться неколько карт)? Разбирают по одной карте на ход? или пока не согласятся остановиться? Что происходит с персами, не получившими пики при текущем выборе? Как определяется конец раунда (хватит ли на раунд одной колоды)? Вообще, надо просто полностью расписать алгоритм выбора (опираясь не на уже имеющиеся ваши формулы, а именно на правила розыгрыша раунда)...
Алгоритм выбора/дейсвий поподробнее бы, потому что разбираться в ваших формулах - смысла не особо. Я уже отсюдавижу, что надо поменять сам алгоритм.
Как игроки выбирают карты (разбирают колоду, что ли - иначе как у перса может оказаться неколько карт)? Разбирают по одной карте на ход? или пока не согласятся остановиться? Что происходит с персами, не получившими пики при текущем выборе? Как определяется конец раунда (хватит ли на раунд одной колоды)? Вообще, надо просто полностью расписать алгоритм выбора (опираясь не на уже имеющиеся ваши формулы, а именно на правила розыгрыша раунда)...AndreTM
Основной вопрос здесь, конечно, не в количестве карт на игрока. Это не так важно. Важно, чтобы следующий игрок, не вытаскивал карты, доставшейся предыдущим игрокам. Однако в данном случае затея такая. Необходимо чтобы "медленные" персонажи пропускали ходы чаще быстрых. Иными словами тот, кто не вытянул пики, не будет ходить в этом раунде. В зависимости от показателя инициативы игрок тащит несколько карт. Для упрощения задачи, скажем, что тащит он карты подряд, а не когда придёт его очередь второй раз. Карты раздаются по часовой стрелке (в случае таблицы сверху вниз). Для упрощения задачи, скажем, что первым брать карты имеет право всегда один и тот же игрок, а не смещается против/по часовой стрелки. Основной целью игрока является вытащить пику. И пику получше. Естественно игроку с правом на пять карт сделать это проще.
Основной вопрос здесь, конечно, не в количестве карт на игрока. Это не так важно. Важно, чтобы следующий игрок, не вытаскивал карты, доставшейся предыдущим игрокам. Однако в данном случае затея такая. Необходимо чтобы "медленные" персонажи пропускали ходы чаще быстрых. Иными словами тот, кто не вытянул пики, не будет ходить в этом раунде. В зависимости от показателя инициативы игрок тащит несколько карт. Для упрощения задачи, скажем, что тащит он карты подряд, а не когда придёт его очередь второй раз. Карты раздаются по часовой стрелке (в случае таблицы сверху вниз). Для упрощения задачи, скажем, что первым брать карты имеет право всегда один и тот же игрок, а не смещается против/по часовой стрелки. Основной целью игрока является вытащить пику. И пику получше. Естественно игроку с правом на пять карт сделать это проще.JustMe