У меня есть университетское задание разработать допустимую эвристику и сократить количество последователей игры, вдохновленной Зумой. В игре есть линия цветных шариков (цвета: 1, 2, 3, 4) и немного боеприпасов. Если подряд подряд выпадают три шара одного цвета, они удаляются с линии. Такое удаление может вызвать каскадные эффекты. Задача требует, чтобы эвристика была допустимой.
Вы можете пропустить шарик из боеприпасов и каждый ход можете использовать только первый шарик из него.
на данный момент это мой код:
def successor(self, state):
"""Generates optimized successor states for the given state."""
line, ammo = state
successors = []
if not ammo:
return []
balls_count = [0, 0, 0, 0]
ammo_count = [0, 0, 0, 0]
for ball in ammo:
ammo_count[ball - 1] += 1
for ball in line:
balls_count[ball - 1] += 1
# Validate that at least 3 of any color are available
for i in range(4):
if balls_count[i] > 0 and balls_count[i] + ammo_count[i] < 3:
return []
line_len = len(line)
first_ball = ammo[0]
new_ammo = ammo[1:]
# Insert the first ball at each position in the line
for i in range(line_len + 1):
# Skip consecutive balls
if i < line_len - 1 and line[i] == first_ball:
if line[i + 1] == first_ball:
i = i + 2
continue
i = i + 1
continue
new_line = line[:i] + (first_ball,) + line[i:]
reduced_line = self.check_line_sequences(new_line, i, line_len + 1)
new_state = (reduced_line, new_ammo)
if self.is_redundant(new_state):
continue
action = [i, first_ball]
successors.append((action, new_state))
# Add the skip option
skipped_state = (line, new_ammo)
if not self.is_redundant(skipped_state):
action = ["skip", first_ball]
successors.append((action, skipped_state))
return successors
не удалось найти допустимую эвристику, поэтому я ставлю 1, если это не конец игры, и 0, если это конец.
У меня есть университетское задание разработать допустимую эвристику и сократить количество последователей игры, вдохновленной Зумой. В игре есть линия цветных шариков (цвета: 1, 2, 3, 4) и немного боеприпасов. Если подряд подряд выпадают три шара одного цвета, они удаляются с линии. Такое удаление может вызвать каскадные эффекты. Задача требует, чтобы эвристика была допустимой. Вы можете пропустить шарик из боеприпасов и каждый ход можете использовать только первый шарик из него. на данный момент это мой код: [code]def successor(self, state): """Generates optimized successor states for the given state.""" line, ammo = state successors = []
for ball in ammo: ammo_count[ball - 1] += 1 for ball in line: balls_count[ball - 1] += 1
# Validate that at least 3 of any color are available for i in range(4): if balls_count[i] > 0 and balls_count[i] + ammo_count[i] < 3: return []
line_len = len(line) first_ball = ammo[0]
new_ammo = ammo[1:] # Insert the first ball at each position in the line for i in range(line_len + 1): # Skip consecutive balls if i < line_len - 1 and line[i] == first_ball: if line[i + 1] == first_ball: i = i + 2 continue i = i + 1 continue
У меня есть университетское задание разработать допустимую эвристику и уменьшить количество последователей игры, вдохновленной Зумой. В игре есть линия цветных шариков (цвета: 1, 2, 3, 4) и немного боеприпасов. Если есть три или более...
Я смоделировал очень простую 2D-игру в Swift. Я использовал структуры для представления всех элементов игрового процесса, включая спрайты, контакты, поведение/движения, анимацию и т. д. Все это достаточно эффективно, а игра очень проста (например,...
MRE
Python 3.9
ОС Windows
При запуске приведенная ниже команда:
pip install kaggle
Полное сообщение об ошибке:
Defaulting to user installation because normal site-packages is not writeable
Collecting kaggle
Using cached kaggle-1.6.15.tar.gz...
Есть ли способ перебрать каждое состояние, заставить среду перейти в это состояние, а затем сделать шаг, а затем использовать возвращенный словарь «info», чтобы увидеть, каковы все возможные состояния-преемники?
У меня есть ARKit ARSCNView, обеспечивающий возможности дополненной реальности с помощью камеры, расположенной на задней панели по умолчанию. Для этого я хотел бы использовать другие камеры, например сверхширокоугольную. Если есть возможность, было...