Ваша функция может показаться довольно простой, но сейчас, вероятно, самое время ее немного изменить. Я бы предложил создать функцию, которая принимает одну пару значений и возвращает для нее оценку - это облегчает точное представление о том, что происходит, - а затем вызывает эту функцию для каждой строки в вашем rolls_array
. Функция score
может выглядеть примерно так:
LOSE = -1
TIE = 0
WIN = 1
def score(one, two):
total = one + two
if total in (2, 3, 12):
return LOSE
elif total in (7, 11):
return WIN
else:
return TIE
Затем вы можете применить это к массиву следующим образом:
>>> rolls = np.array([[1, 2], [5, 6]])
>>> result = np.array([score(*roll) for roll in rolls])
>>> print(result)
[-1 1]
Чтобы интегрировать это в вашу функцию game_session
, затем вы можете удалить цикл for и просто изменить возврат на
return np.array([score(*roll) for roll in rolls_array])
Я столкнулся с этой той же проблемой на прошлой неделе с помощью JTextPane. setOpaque () метод работает как ожидалось при использовании любого стиля кроме нимба. По-видимому, стиль нимба изменяет поведение, которое мы приехали для ожидания с setOpaque () для многих Компонентов. В зависимости от того, как Вы смотрите на него, это можно считать ошибкой. Проверьте комментарии к этому солнцу bugid:
Обходное решение, которое работало на меня, было:
myPane.setOpaque(false); // added by OP
myPane.setBorder(BorderFactory.createEmptyBorder());
myPane.setBackground(new Color(0,0,0,0));
Отметьте в OP: Я также должен был гарантировать setOpaque (ложь) для JTextField так, чтобы родительский фон был нарисован - просто хотел упомянуть это для других, которые следуют в случае, если они экспериментировали с (верным) setOpaque, как я имел.
Эй там Обезьяна программного обеспечения.
mmhh что относительно того, чтобы установить замену подклассов UI, которые на самом деле уважают setOpaque поведение.
Я думаю, что это - что-то как setUI или что-то как этот.
Вы могли захватить исходный код нимба и видеть то, что повреждается там (если это там), разделите его на подклассы и установите "фиксированный".
Ваши звучат, вполне межжалят, у Вас есть какой-либо снимок экрана, который мы видим?
От javadoc
общественность освобождает setBackground (Окрасьте bg),
Выбирает цвет фона этого компонента. Цвет фона используется, только если компонент непрозрачен, и только подклассами реализаций ComponentUI или JComponent. Прямые подклассы JComponent должны переопределить paintComponent для удостаивания этого свойства.
Это до стиля для удостаивания этого свойства, некоторые могут принять решение проигнорировать его.
Я думаю, что вопрос состоит в том, как интерпретировать "непрозрачный" и "фон". Для JTextfield существует вопрос: "какие видимые части являются фоном?". Я определил бы "фон" как части ограничительного прямоугольника, которые не оттянуты компонентом. Для "круглой" кнопки, например, это будет углами вне круга. Для этого я сказал бы, что у JTextfield нет видимого фона! Это имеет прямоугольную форму и что Вы - взятие, поскольку фон не является образованием поля, но холстом поля.
Опровержение от OP
Это - достаточно интересная идея стоить ответить на в ответе для будущих средств просмотра (в противоположность в комментариях).
Я должен не согласиться. Я утверждал бы, что часть компонента вне границы не является частью компонента - это вне компонента. Поле со скругленными углами, по необходимости, ненепрозрачно, в котором это не может быть ответственно за рисование, это - весь прямоугольный регион - это - побочный эффект всех компонентов, являющихся прямоугольным в размерах.
Я думаю, что это соображение приводит аргумент в пользу существующего (и неправильно понятый) значение isOpaque (). Это также приводит мой аргумент, что setOpaque () не должен существовать и что setBackground (пустой указатель) должен заставить компонент не красить фон.
Я выдвинул бы это, фон текстового поля является действительно цветом региона внутри, это - границы, и я не думаю, что Вы найдете, что очень много людей подвергают сомнению тот факт, что как интуитивное заключение - поэтому наличие фона относится к тому региону, соблюдает правило наименьшего количества удивления для пользователя API.