Я кодирую игру Space Shooter с Pygame Python 3.9.13 (если это может помочь), и я не могу обойти ее, потому что мне нужен список с моим классом «Bulel», и я не могу найти решение, код: < /p>
from pygame import *
from shooter_game_more import*
init()
win = display.set_mode((700,500))
back = transform.scale(image.load('galaxy.jpg'),(700,500))
#Objects
rect=Rect(1000,1000,1,1)
player=Player(315,430,'rocket.png',70,70)#line 21
#list of future bullets
bullets=list
#list of enemys
enemys=[
Enemy(0,0,'ufo.png',70,70),#line 28 in shoter_game.py
Enemy(105,0,'ufo.png',70,70),
Enemy(210,0,'ufo.png',70,70),
Enemy(315,0,'ufo.png',70,70),
Enemy(420,0,'ufo.png',70,70),
Enemy(525,0,'ufo.png',70,70),
Enemy(630,0,'ufo.png',70,70),
]
#music
mixer.music.load('space.ogg')
mixer.music.play()
#game loop
game=True
while game:
for e in event.get():
if e.type==QUIT:
game=False
if key.get_pressed()[K_SPACE]:
bullets.append(Bulet(player.x-35,player.y-35,'bullet.png',7,35))
player.move(15)
#update the screen
display.update()
win.blit(back,(0,0))
for enemy in enemys:
enemy.move(4)
enemy.show(win)
enemy.get_kill((player.rect,rect))
player.show(win)
time.wait(25)
< /code>
и модуль 'shorter_game_more': < /p>
from pygame import*
from random import randint
class Objectt():
def __init__(self,x,y,imagee,width,height):
self.x=x
self.y=y
self.image=transform.scale(image.load(imagee),(width,height))
self.rect=self.image.get_rect()
def show(self,winn):
winn.blit(self.image,(self.x,self.y))
def rect_center(self):#center is rect on his coordiate
self.rect.x=self.x
self.rect.y=self.y
def collide(self,rects):#collide with a list of rects
collide=False
for i in rects:
if self.rect.colliderect(i)==True:
collide=True
return collide
class Player(Objectt):
def move(self,speed):
if key.get_pressed()[K_a]==True:
self.x-=speed
if key.get_pressed()[K_d]==True:
self.x+=speed
self.rect_center()
class Enemy(Objectt):
def __init__(self,x,y,imagee,width,height):
super().__init__(x,y,imagee,width,height)
self.y=-70
def restart(self):# respawn
self.x=randint(0,630)
self.y=-70
self.rect_center()
def move(self,speed):
if self.y500:
self.restart()
self.rect_center()
def get_kill(self,listrects):#respawn the enemy when touched
if self.collide(listrects)==True:
self.restart()
class Bulet(Objectt):
def move(self,speed):
self.y+=60
if self.y
Когда я его запускаю, он отправляет это сообщение:
TypeError: descriptor 'append' for 'list' objects doesn't apply to a 'type' object
.
Я хочу добавить класс «bule» в мои пули списка, но я принимаю способ обойти его, спасибо.
Я кодирую игру Space Shooter с Pygame Python 3.9.13 (если это может помочь), и я не могу обойти ее, потому что мне нужен список с моим классом «Bulel», и я не могу найти решение, код: < /p> [code]from pygame import * from shooter_game_more import* init() win = display.set_mode((700,500)) back = transform.scale(image.load('galaxy.jpg'),(700,500))
#Objects rect=Rect(1000,1000,1,1) player=Player(315,430,'rocket.png',70,70)#line 21 #list of future bullets bullets=list #list of enemys enemys=[ Enemy(0,0,'ufo.png',70,70),#line 28 in shoter_game.py Enemy(105,0,'ufo.png',70,70), Enemy(210,0,'ufo.png',70,70), Enemy(315,0,'ufo.png',70,70), Enemy(420,0,'ufo.png',70,70), Enemy(525,0,'ufo.png',70,70), Enemy(630,0,'ufo.png',70,70), ]
#game loop game=True while game: for e in event.get(): if e.type==QUIT: game=False if key.get_pressed()[K_SPACE]: bullets.append(Bulet(player.x-35,player.y-35,'bullet.png',7,35)) player.move(15) #update the screen display.update() win.blit(back,(0,0)) for enemy in enemys: enemy.move(4) enemy.show(win) enemy.get_kill((player.rect,rect)) player.show(win) time.wait(25) < /code> и модуль 'shorter_game_more': < /p> from pygame import* from random import randint class Objectt(): def __init__(self,x,y,imagee,width,height): self.x=x self.y=y self.image=transform.scale(image.load(imagee),(width,height)) self.rect=self.image.get_rect()
def show(self,winn): winn.blit(self.image,(self.x,self.y)) def rect_center(self):#center is rect on his coordiate self.rect.x=self.x self.rect.y=self.y
def collide(self,rects):#collide with a list of rects collide=False for i in rects: if self.rect.colliderect(i)==True: collide=True return collide
class Player(Objectt): def move(self,speed): if key.get_pressed()[K_a]==True: self.x-=speed if key.get_pressed()[K_d]==True: self.x+=speed self.rect_center() class Enemy(Objectt): def __init__(self,x,y,imagee,width,height): super().__init__(x,y,imagee,width,height) self.y=-70 def restart(self):# respawn self.x=randint(0,630) self.y=-70 self.rect_center() def move(self,speed): if self.y500: self.restart() self.rect_center() def get_kill(self,listrects):#respawn the enemy when touched if self.collide(listrects)==True: self.restart() class Bulet(Objectt): def move(self,speed): self.y+=60 if self.y Когда я его запускаю, он отправляет это сообщение: TypeError: descriptor 'append' for 'list' objects doesn't apply to a 'type' object[/code]. Я хочу добавить класс «bule» в мои пули списка, но я принимаю способ обойти его, спасибо.
Это мой первый раз, когда я пытаюсь написать сценарий самостоятельно, и я пытаюсь сделать что -то, что просматривает мои папки и возвращаю список, и я продолжаю получать этот тип Ernerr: Descriptor «Приложение» для «Список». Большое спасибо!...
Может кто-нибудь помочь исправить ошибку TypeError. Он работает в Python 2, но не в Python 3.
Python2:
def ExchangeColumns(RECXX_Output,Modified_Recxx_Output,column1,column2,column3,column4,column5,column6):
with open(RECXX_Output) as infile...
Привет, я немного новичок в Flutter. У меня возникла проблема при попытке применить метод get к API, который возвращает мне список юристов. Я получаю следующую ошибку: «Ошибка: TypeError: Экземпляр «JSArray»: тип «Список» не является подтипом типа...