Я пишу функцию для сканирования конкретной карты (2D-массив).Чтобы избежать сканирования пятен за пределами массива, я написал несколько операторов if, но это выглядит как неправильный, длинный, неэффективный способ сделать это.
H - значение высоты карты, int W - дляwidth, int c - текущая точка, кортеж, содержащий значения x и y.
floorH = c[0]-D
floorW = c[1]-D
ceilingH = c[0]+D+1
ceilingW = c[1]+D+1
if floorH < 0:
floorH = 0
if floorW < 0:
floorW = 0
if ceilingH > H:
ceilingH = H
if ceilingW > W:
ceilingW = W
Как мне лучше написать это?
Заранее спасибо:)