gpt4 book ai didi

python - map() 的参数 2 必须支持迭代

转载 作者:行者123 更新时间:2023-12-01 04:46:15 25 4
gpt4 key购买 nike

嗨,我正在制作一个基本的光线转换引擎,所以我认为从小 map 开始会很好,但问题是我的类 map 在构造函数中要求一个mapGrid,当我传递它时,python 给我这个错误map() 的参数 2 必须支持迭代

这是代码:主要部分

import pygame
def map(object):
def __init__(self,grid,scale):
self.grid= grid
self.mapWidth= len(grid[0]) #Number of map blocks
self.mapHeight= len(grid)
self.miniMapScale= scale #How many pixels to draw a map block
self.miniWidth= self.mapWidth * self.miniMapScale #Size of the minimap
self.miniHeight= self.mapHeight * self.miniMapScale

self.rectGrid= grid

for y in range(self.mapHeight):
for x in range(self.mapWidth):
self.rectGrid[y][x]= pygame.Rect(x,y,self.miniWidth,self.miniHeight)

def blitMiniMap():
pass

数据文件

mapGrid= [
[1,1,1,1],
[1,0,0,1],
[1,0,0,1],
[1,1,1,1]
]

size = [640, 480]

map 类

import pygame
def map(object):
def __init__(self,grid,scale):
self.grid= grid
self.mapWidth= len(grid[0]) #Number of map blocks
self.mapHeight= len(grid)
self.miniMapScale= scale #How many pixels to draw a map block
self.miniWidth= self.mapWidth * self.miniMapScale #Size of the minimap
self.miniHeight= self.mapHeight * self.miniMapScale

self.rectGrid= grid

for y in range(self.mapHeight):
for x in range(self.mapWidth):
self.rectGrid[y][x]= pygame.Rect(x,y,self.miniWidth,self.miniHeight)

def blitMiniMap():
pass

谢谢。

最佳答案

map 是一个Python内置函数。使用 map 作为函数名称会导致困惑,因此您应该考虑将 map 函数重命名为不同的名称。

此外,您所说的“映射类”仅定义了一个函数,而不是一个类。您是否可能在类定义中将 defclass 混淆了?

关于python - map() 的参数 2 必须支持迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com