我试图在一个网格上找到所有对角有效的正方形,并将它们的值设置为1。对角线的定义就像象棋中的毕肖普的动作。在
我有一些东西,目前,但感觉很笨重。主要是因为我做了很多检查,以确保有问题的对角线平方在数组的边界内。在
网格是8x8。。。在
for j in range (1,8):
diagx1 = randx + j
diagx2 = randx - j
diagy1 = randy + j
diagy2 = randy - j
if diagx1 <= 7:
if diagy1 <= 7:
setSquare(squares, diagx1, diagy1, 1)
if diagy2 >= 0:
setSquare(squares, diagx1, diagy2, 1)
if diagx2 >= 0:
if diagy1 <= 7:
setSquare(squares, diagx2, diagy1, 1)
if diagy2 >= 0:
setSquare(squares, diagx2, diagy2, 1)
基本上你的方法是尽可能简单。你必须做边界检查,你必须加上和减去一个偏移量。你能改变的是语法。在
或者更简单地说:
^{pr2}$你唯一的另一个选择是预先计算出你的射程,这样你就可以把自己限制在范围之内。比如:
请注意,这可能是值得你的时间,以建立广场,可以找到自己的对角线。在
相关问题 更多 >
编程相关推荐