python - 得到没有类的 pygame.Rect 颜色
问题描述
我正在尝试将康威的生活游戏编码为工作资格测试的一部分,使用 Python 和仅没有类的 PyGame 库我的方法是创建一个矩形网格并将每个矩形分配给一个二维数组到这一点方法已经完成,现在作为游戏规则的一部分,我需要检查矩形颜色,有没有办法检查 pygame.Rect 对象的颜色?
以这种方式创建的每个矩形:
for y in range(0, WindowDimensions[1], CellSize):
for x in range(0, WindowDimensions[0], CellSize):
cell = pygame.Rect(x, y, CellSize, CellSize)
AddCellToArray(cell)
pygame.draw.rect(surface=Window, color=BLACK, rect=cell, width=1)
Column, Row = 0, 0
def AddCellToArray(cell):
nonlocal Column, Row
if Row < len(BoardArr):
if Column < len(BoardArr[0]):
BoardArr[Row][Column] = cell
Column += 1
else:
Row += 1
Column = 0
BoardArr[Row][Column] = cell
Column += 1
解决方案
pygame.Rect
物体没有颜色。当您调用pygame.draw.rect
屏幕上由矩形定义的区域时,会填充颜色。
将矩形及其颜色存储在BoardArr
:
for y in range(0, WindowDimensions[1], CellSize):
for x in range(0, WindowDimensions[0], CellSize):
cell = pygame.Rect(x, y, CellSize, CellSize)
color = BLACK
AddCellToArray(cell, color)
pygame.draw.rect(surface=Window, color=color, rect=cell, width=1)
Column, Row = 0, 0
def AddCellToArray(cell, color):
nonlocal Column, Row
if Row < len(BoardArr):
if Column < len(BoardArr[0]):
BoardArr[Row][Column] = [cell, color]
Column += 1
else:
Row += 1
Column = 0
BoardArr[Row][Column] = [cell, color]
Column += 1
推荐阅读
- owl - ObjectProperty 域/范围可以与 ObjectAllValuesFrom 冗余吗?
- mysql - 如何创建表示表上数据前面的触发器?
- gitlab - 创建合并请求时,我可以不向受理人和批准人发送通知吗?
- winapi - 确定计算机是否已加入 AzureAD
- postgresql - postgres cumsum 乘法和更新价格
- python - 从远程 python 服务器上的 GET 请求返回结果的字段
- bash - Bash 脚本:无法对刚刚在同一语句中创建的文件进行排序?
- r - 如何在没有数据的情况下做出未来预测?(右)
- azure-ad-b2c - Azure B2C - 找不到 ID 为 \"objectId\" 的查找声明的声明
- c - 有人可以解释一下这个程序的输出是怎样的吗