Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Berserk Rook solution in Uncategorized category for Berserk Rook by capback250
# migrated from python 2.7
def berserk_rook(bers, pos_enemy):
connect = searcher(bers, pos_enemy)
if not connect:
return 0
return 1 + max([berserk_rook(*x) for x in [(i, [j for j in pos_enemy if j!= i]) for i in connect]])
def searcher(point, enem):
i, j = int(point[1]), int(point[1])
k,l = ord(point[0]), ord(point[0])
near = []
while i:
i -= 1
if point[0]+repr(i) in enem:
near.append(point[0]+repr(i))
break
while j < 8:
j += 1
if point[0]+repr(j) in enem:
near.append(point[0]+repr(j))
break
while k >= 97:
k -= 1
if chr(k)+point[1] in enem:
near.append(chr(k)+point[1])
break
while k <= 104:
k += 1
if chr(k)+point[1] in enem:
near.append(chr(k)+point[1])
break
if point in near:
del near[near.index(point)]
return near
Jan. 18, 2016