python俄罗斯方块基本技术:点阵表示和坐标表示

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)       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值