完成控制台版俄罗斯方块类的设计,并打印出方块图形。 提示:俄罗斯方块的所有图形都是由四个小方块组成。 图形:O、T、J、L、I、Z、S
时间: 2024-04-14 08:25:33 浏览: 11
好的,下面是一个简单的控制台版俄罗斯方块类的设计,并打印出方块图形的示例代码:
```python
class TetrisBlock:
def __init__(self, shape):
self.shape = shape
self.block = []
self.create_block()
def create_block(self):
if self.shape == 'O':
self.block = [['O', 'O'],
['O', 'O']]
elif self.shape == 'T':
self.block = [[' ', 'T', ' '],
['T', 'T', 'T']]
elif self.shape == 'J':
self.block = [['J', ' ', ' '],
['J', 'J', 'J']]
elif self.shape == 'L':
self.block = [[' ', ' ', 'L'],
['L', 'L', 'L']]
elif self.shape == 'I':
self.block = [['I'],
['I'],
['I'],
['I']]
elif self.shape == 'Z':
self.block = [['Z', 'Z', ' '],
[' ', 'Z', 'Z']]
elif self.shape == 'S':
self.block = [[' ', 'S', 'S'],
['S', 'S', ' ']]
else:
print("Invalid shape!")
def print_block(self):
for row in self.block:
print(' '.join(row))
# 测试代码
block_O = TetrisBlock('O')
block_T = TetrisBlock('T')
block_J = TetrisBlock('J')
block_L = TetrisBlock('L')
block_I = TetrisBlock('I')
block_Z = TetrisBlock('Z')
block_S = TetrisBlock('S')
block_O.print_block()
print('---')
block_T.print_block()
print('---')
block_J.print_block()
print('---')
block_L.print_block()
print('---')
block_I.print_block()
print('---')
block_Z.print_block()
print('---')
block_S.print_block()
```
这段代码定义了一个 `TetrisBlock` 类,通过传入不同的形状参数来创建不同的俄罗斯方块对象。`create_block` 方法根据形状参数设置方块的形状,`print_block` 方法用于打印方块在控制台的图形。
运行以上代码,将会打印出不同形状的俄罗斯方块图形。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)