老师为什么显示这种内容呢
'builtin_function_or_method' object has no attribute 'width'

这是报错信息
源码
pygame pg
time
random
screen_width=screen_height=bgcolor=pg.Color(,,)
rcolor=pg.Color(,,)
MainGame:
window=my_tank=enemy_tankList=[]
enemy_tankCount=myBulletList=[]
__init__(self):
startGame(self):
pg.display.init()
MainGame.window=pg.display.set_mode([screen_width,screen_height])
MainGame.my_tank = Tank(, )
self.creatEnemyTank()
pg.display.set_caption()
:
time.sleep()
MainGame.window.fill(bgcolor)
self.getEvent()
MainGame.window.blit(self.getTextSurface(%len(MainGame.enemy_tankList)),(,))
MainGame.my_tank.displayTank()
self.biltenemyTank()
self.blitMyBullet()
MainGame.my_tank.stop:
MainGame.my_tank.move()
pg.display.update()
creatEnemyTank(self):
top=i range (MainGame.enemy_tankCount):
left=random.randint(,)
speed=random.randint(,)
enemy=EnemyTank(left, top, speed)
MainGame.enemy_tankList.append(enemy)
biltenemyTank(self):
enemyTank MainGame.enemy_tankList:
enemyTank.displayTank()
enemyTank.randMove()
blitMyBullet(self):
MyBullet MainGame.myBulletList:
MyBullet.displayBullet()
MyBullet.randMove()
endGame(self):
print()
exit()
getTextSurface(self,text):
pg.font.init()
font=pg.font.SysFont(,)
textSurface=font.render(text,,rcolor)
textSurface
getEvent(self):
eventList=pg.event.get()
event eventList:
event.type==pg.QUIT:
self.endGame()
event.type==pg.KEYDOWN:
event.key==pg.K_LEFT:
MainGame.my_tank.stop = MainGame.my_tank.direction=print()
event.key==pg.K_RIGHT:
MainGame.my_tank.stop = MainGame.my_tank.direction = print()
event.key==pg.K_UP:
MainGame.my_tank.stop = MainGame.my_tank.direction = print()
event.key==pg.K_DOWN:
MainGame.my_tank.stop = MainGame.my_tank.direction = print()
event.key== pg.K_SPACE:
print()
MyBullet=Bullet(MainGame.my_tank)
MainGame.MyBulletList.append(MyBullet)
event.type==pg.KEYUP:
event.key==pg.K_UP event.key==pg.K_DOWN event.key==pg.K_LEFT event.key==pg.K_RIGHT:
MainGame.my_tank.stop=Tank:
__init__(self,left,top):
self.images={:pg.image.load(),
: pg.image.load(),
: pg.image.load(),
: pg.image.load()}
self.direction=self.image=self.images[self.direction]
self.rect=self.image.get_rect()
self.rect.top=top
self.rect.left=left
self.speed=self.stop=move(self):
self.direction==:
self.rect.left > :
self.rect.left-=self.speed
self.direction==:
self.rect.left+self.rect.height<screen_width:
self.rect.left += self.speed
self.direction==:
self.rect.top>:
self.rect.top -= self.speed
self.direction==:
self.rect.top+ self.rect.height < screen_height:
self.rect.top += self.speed
shot(self):
displayTank(self):
self.image=self.images[self.direction]
MainGame.window.blit(self.image,self.rect)
MyTank(Tank):
__init__(self):
EnemyTank(Tank):
__init__(self,left,top,speed):
self.images={:pg.image.load(),
: pg.image.load(),
: pg.image.load(),
: pg.image.load()}
self.direction=self.randDirection()
self.image=self.images[self.direction]
self.rect=self.image.get_rect()
self.rect.left=left
self.rect.top=top
self.rect.left=left
self.speed=speed
self.flag=self.step=randDirection(self):
num=random.randint(,)
num==:
num==:
num==:
num==:
randMove(self):
self.step<=:
self.direction=self.randDirection()
self.step=:
self.move()
self.step-=Bullet():
__init__(self,tank):
self.image=pg.image.load()
self.direction=tank.direction
self.rect=self.image.get_rect
self.direction==:
self.rect.left=int(tank.rect.left+tank.rect.width/-self.rect.width/)
self.rect.top=int(tank.rect.top-self.rect.height)
self.direction==:
self.rect.left=int(tank.rect.left+tank.rect.width/-self.rect.width/)
self.rect.top=int(tank.rect.top+tank.rect.height)
self.direction==:
self.rect.left=int(tank.rect.left-self.rect.width/-self.rect.width/)
self.rect.top=int(tank.rect.top+tank.tect.width/-self.rect.width/)
self.direction==:
self.rect.left=int(tank.rect.left+tank.rect.width)
self.rect.top=int(tank.rect.top+tank.tect.width/-self.rect.width/)
self.speed=move(self):
displayBullet(self):
MainGame.window.blit(self.image,self.rect)
Wall():
__init(self):
displayWall(self):
Explore():
__init__(self):
displayExplore(self):
Music():
__init__(self):
play(self):
__name__==:
MainGame().startGame()