在python中让敌人射击的问题

在python中让敌人射击的问题,python,pygame,Python,Pygame,我目前正在用python制作潜艇游戏。我试着在我的游戏射击中制造敌人。但是我的代码不起作用。我试图自己找到问题,但没有成功。问题不在于语法,而在于语义。我的问题是:如何使这个代码工作?以下是拍摄的代码: def strelej(self): #This part of code is supposed to shoot and it triggers, but doesn't want to work print(self.x-igralec.x) if self

我目前正在用python制作潜艇游戏。我试着在我的游戏射击中制造敌人。但是我的代码不起作用。我试图自己找到问题,但没有成功。问题不在于语法,而在于语义。我的问题是:如何使这个代码工作?以下是拍摄的代码:

def strelej(self):   
    #This part of code is supposed to shoot and it triggers, but doesn't want to work
    print(self.x-igralec.x) 
    if self.levo:
        #If levo is true projectile starts going to left(smer is negative)
        screen.blit(torpL, (self.patronx, self.patrony))
        self.patronx += self.v * self.smer
    if self.desno:
         #If desno is true, projectile starts going right(smer is positive)
        screen.blit(torpD, (self.patronx, self.patrony))
        self.patronx += self.v * self.smer
def premik(self):
    if self.levo:
         self.smer = -1
         if  self.x > self.konc:
            screen.blit(nasprotnikL, (self.x, self.y))
            self.x -= self.v
         if self.x == self.konc: 
            self.levo = False
            self.desno = True
    if self.desno:
        self.smer = 1
        if self.x < self.zac:
            screen.blit(nasprotnikD, (self.x, self.y))
            self.x += self.v
        if self.x == self.zac:
            self.levo = True
            self.desno = False
    if self.x - igralec.x <= 300:
        #When distance between player and enemy is less or equal to 300 it triggers shooting
        self.strelej()
def strelej(自身):
#这部分代码应该是可以触发的,但是不想工作
打印(self.x-igralec.x)
如果self.levo:
#如果levo为真,射弹开始向左移动(smer为负)
screen.blit(torpL,(self.patronx,self.patrony))
self.x+=self.v*self.smer
如果self.desno:
#如果desno为真,则射弹开始向右移动(smer为正)
屏幕。blit(torpD,(self.patronx,self.patrony))
self.x+=self.v*self.smer
def premik(自我):
如果self.levo:
self.smer=-1
如果self.x>self.konc:
screen.blit(nasprotnikL,(self.x,self.y))
self.x-=self.v
如果self.x==self.konc:
self.levo=False
self.desno=True
如果self.desno:
self.smer=1
如果self.x如果self.x-igralec.x,请解释您遇到的问题以及您期望的结果。由于您用另一种语言编写了代码(尽量用英语编写代码),但未提供详细说明,因此我们无法理解或测试您的代码以找到问题的解决方案。@TedKleinBergman我希望敌人在我的游戏中射击。现在我将在我的代码中添加一些注释,以便您了解什么是什么。您确定这是因为这段代码吗?问题是,没有完整的上下文,我们无法理解这个片段。我不知道你的变量是什么,它们是如何分配的,它们是如何改变的。因此,不可能理解问题所在。注释并没有真正的帮助,因为我不知道变量和属性应该做什么和表示什么。因此,您需要将代码翻译成英语并创建一个。我猜你的分支(
levno
deno
)永远不会被输入,但我敢肯定那只是黑暗中的一个野性分支。这是代码中唯一一个处理敌人射击的部分。我将为codeNevermind添加更多解释,我现在发现了问题。谢谢你的时间,很抱歉浪费了你的时间