1. 点阵表示:用二维数组表示图案,0:没有方块;1:有方块。
2.坐标表示:用8个数字,表示4个小方块相对于左上角的坐标,例如(1,0),(2,2)
两种方法的运行结果:
代码如下 block.py:
# block
# 俄罗斯方块,四个小方块
#方案1:点阵
## ------------- 函数定义,输出一个二维数组
def printarray(ar):
for row in range(len(ar)):
for col in range(len(ar[row])):
#不换行输出
print(ar[row][col],end="")
#输出一行结束,换行
print()
# end for
return
## -----------------------------------
blockar=[[0,1,0,0],
[0,1,0,0],
[0,1,1,0],
[0,0,0,0]]
print(len(blockar))
printarray(blockar)
#方案2:每个小方块的坐标,相对左上角。每个小方块,位于第几列,第几行
block_coords=[1,0, 1,1, 1,2, 2,2]
print(len(blockar))
#初始化1个4x4的空数组
drawBuffer = [[0 for i in range(4)] for i in range(4)]
#根据四个小方块坐标,赋值
for i in range(4):
col=block_coords[2*i]
row=block_coords[2*i+1]
drawBuffer[row][col]=1
#end for
printarray(drawBuffer)