Example #1
0
 def fire(self):
     if self.rect.x < 0 or self.rect.x > 1280:
         self.kill()
     if self.state == -1:
         self.image = pygame.transform.flip( loder.return_image( 3 ), 1, 0 )
     else:
         self.image = loder.return_image( 3 )
     self.xvel = 10 * self.state
     self.rect.x += self.xvel
     self.rect.x -= player.xcamera
Example #2
0
 def draw( self, screen, open=False ):
     self.rect.x -= player.xcamera
     if open:
         self.image = loder.return_image(21)
     else:
         self.image = loder.return_image(20)
     if player.rect.colliderect( self.rect ):
         txt = pygame.font.SysFont( 'Comic Sans MS', 20 )
         text = txt.render( 'e - выйти с уровня', False, (255, 255, 255) )
         screen.blit( text,( self.rect.x, self.rect.y - 60 ) )
     screen.blit( self.image, (self.rect.x, self.rect.y) )
Example #3
0
 def __init__( self, x, y, on_camera=False,xmin=0,xmax=0):
   pygame.sprite.Sprite.__init__( self )
   self.animFrame = 0
   self.idle = True
   self.isjump = False
   self.f = 0
   self.jump = 30
   self.xmin = xmin
   self.xmax = xmax
   self.rect = pygame.Rect( x, y, 65, 78 )
   self.leg_rect = pygame.Rect( x, y, 40, 8 )
   self.image = loder.return_image(1)
   self.xvel = 0
   self.yvel = 0
   self.time = 0
   self.state = 1
   self.gun = []
   self.anim = loder.load_anim()
   self.anim2 = loder.load_anim_idle()
   self.numGun = 0
   self.death = False
   self.on_camera = on_camera
   self.xcamera = 0
   self.xpcamera = self.rect.x
   self.xvelp = 0
   # добавим кораблю здоровье
   self.life = 100
Example #4
0
 def __init__(self,x,y,state,damage):
     pygame.sprite.Sprite.__init__( self )
     self.state = 1
     self.image = loder.return_image(3)
     self.rect = pygame.Rect( x, y, 40, 15 )
     self.xvel = 0
     self.state = state
     self.damage = damage
Example #5
0
 def update( self, state):
     self.state = state
     if not self.taken:
         if self.rect.colliderect( player.rect ):
             self.taken = True
             player.gun.append(self)
     if self.taken:
         if self.state == 1:
             self.rect.x = player.rect.x + 20
         else:
             self.rect.x = player.rect.x - 20
         self.rect.y = player.rect.y + 30
     if self.taken:
         if self.state == -1:
             self.image = pygame.transform.flip( loder.return_image( 6 ), 1, 0 )
         else:
             self.image = loder.return_image( 6 )
     self.rect.x -= player.xcamera
Example #6
0
 def __init__( self, x, y, taken ):
     pygame.sprite.Sprite.__init__( self )
     self.image = loder.return_image( 6 )
     self.rect = pygame.Rect( x, y, 30, 30 )
     self.time = 0
     self.state = 1
     self.potron = []
     self.taken = taken
     self.taken_init()
Example #7
0
 def __init__(self, x ,y):
     pygame.sprite.Sprite.__init__( self )
     self.image = loder.return_image( 7 )
     self.rect = pygame.Rect( x, y, 60, 63 )
     self.time = 0
     self.state = 1
     self.potron = []
     self.xvel = 0
     self.yvel = 0
     self.life = 40
     self.on = 0
     self.death = False
     self.f = 0
     self.Del = False
     self.Deltime = 300
Example #8
0
 def __init__(self, x ,y):
     pygame.sprite.Sprite.__init__( self )
     self.image = loder.return_image( 9 )
     self.rect = pygame.Rect( x, y, 60, 65 )
     self.leg_rect = pygame.Rect( x, y, 30, 8 )
     self.f = 0
     self.jump = 30
     self.isjump = False
     self.time = 0
     self.state = 1
     self.potron = []
     self.xvel = 0
     self.yvel = 0
     self.life = 30
     self.on = False
     self.jumpwas = False
     self.death = False
     self.Del = False
     self.Deltime = 300
Example #9
0
def start_first_episode():
        pygame.mixer.music.stop()
        e = pygame.event.poll()
        if e.type == pygame.QUIT:
            raise SystemExit( "QUIT" )
        screen.blit( loder.return_image(14), (0, 0) )
        txt = pygame.font.SysFont( 'Comic Sans MS', 100 )
        text = txt.render( 'Start System', False, (255, 255, 255) )
        screen.blit( text, (300, 50) )
        pygame.display.update()
        pygame.time.delay(1000)
        txt = pygame.font.SysFont( 'Comic Sans MS', 30 )
        text = txt.render( 'Check HDD...', False, (255, 255, 255) )
        screen.blit( text, (100, 200) )
        pygame.display.update()
        pygame.time.delay(500)
        text = txt.render( 'ok', False, (255, 255, 255) )
        screen.blit( text, (300, 200) )
        pygame.display.update()
        pygame.time.delay( 1000 )
        text = txt.render( 'Check OS...', False, (255, 255, 255) )
        screen.blit( text, (100, 250) )
        pygame.display.update()
        pygame.time.delay( 500 )
        text = txt.render( 'ok', False, (255, 255, 255) )
        screen.blit( text, (300, 250) )
        pygame.display.update()
        pygame.time.delay( 1000 )
        text = txt.render( 'Основная цель: Уничтожить захватчиков и предвратить разрушения комплекса', False, (255, 255, 255) )
        screen.blit( text, (100, 300) )
        pygame.display.update()
        pygame.time.delay( 1000 )
        text = txt.render( 'DoomBot activate...', False, (255, 255, 255) )
        screen.blit( text, (100, 350) )
        pygame.display.update()
        pygame.time.delay( 1000 )
        text = txt.render( '[space - выйти]', False, (0, 255, 0) )
        screen.blit( text, (400, 500) )
Example #10
0
def terminal_history():
    # pygame.mixer.music.stop()
    global left
    global right
    global up
    global fire
    global yes
    while True:
        e = pygame.event.poll()
        if e.type == pygame.QUIT:
            raise SystemExit( "QUIT" )
        if e.type == pygame.KEYDOWN and e.key == pygame.K_SPACE:
            left = False
            right = False
            up = False
            fire = False
            yes = False
            break
        screen.blit( loder.return_image(13), (0, 0) )
        txt = pygame.font.SysFont( 'Comic Sans MS', 100 )
        text = txt.render( 'Внимание!', False, (0, 255, 0) )
        screen.blit( text, (300, 100) )
        txt = pygame.font.SysFont( 'Comic Sans MS', 30 )
        text = txt.render( 'info:Произошло заражение комплекса вирусом на 95%.', False, (0, 255, 0) )
        screen.blit( text, (100, 250) )
        text = txt.render( 'info:Источник зарожения не найден.', False, (0, 255, 0) )
        screen.blit( text, (100, 300) )
        text = txt.render( 'info:Комплекс переходит протоколу к "Security Protocol". ', False, (0, 255, 0) )
        screen.blit( text, (100, 350) )
        text = txt.render('Error: потерян контроль температуры плазменного реактора!', False, (0, 255, 0) )
        screen.blit( text, (100, 400) )
        text = txt.render( 'info: реактор через час достигнет  красной зоны', False, (0, 255, 0) )
        screen.blit( text, (100, 450) )
        text = txt.render( '[space - выйти]', False, (0, 255, 0) )
        screen.blit( text, (400, 500) )
        pygame.display.update()
Example #11
0
    def update(self):
        self.xvel = 0
        self.yvel = 0
        if player.rect.x > self.rect.x - 300 and player.rect.x < self.rect.x + 300 or self.life < 30:
                self.on = True
        else:
                self.on = False
        if self.life <= 0:
            self.death = True
            self.image = loder.return_image(23)
            self.on = False
        if self.death:
            self.Deltime -= 1
        if self.Deltime <= 0:
            self.Del = True
        if self.on:
            if player.rect.x > self.rect.x:
                self.state = -1
                if self.rect.x < player.rect.x - 60 or self.rect.x > player.rect.x + 60:
                    self.xvel += 5
            else:
                self.state = 1
                if self.rect.x < player.rect.x - 60 or self.rect.x > player.rect.x + 60:
                    self.xvel -= 5
            if self.rect.y == player.rect.y or self.rect.y - player.rect.y > 0 and self.rect.y - player.rect.y < 60 and not self.death:
                if self.time <= 0:
                        if self.state == 1:
                            l = -20
                        else:
                            l = 60
                        self.potron.append( potronbot( self.rect.x + l, self.rect.y + 25, self.state * -1, 10 ) )
                        self.time = 30
                else:
                        self.time -= 1
            if self.state == 1:
                self.image = pygame.transform.flip( loder.return_image( 9 ), 1, 0 )
            else:
                self.image = loder.return_image( 9 )
        try:
            stay = 0
            for i in range(len(platforms)):
                if self.leg_rect.colliderect(platforms[i].Rect) and not self.isjump:
                    stay = 1
                    self.f = 1
            if stay == 1:
                self.f = 1
            else:
                self.f = 0
        except:
            self.f = 0
        try:
            for i in range( len( object1 ) ):
                if self.leg_rect.colliderect( object1[i].Rect ):
                    self.f = 1
                # else:
                #     self.f = 0
        except:
            self.f = 0
        if self.on:
            if self.rect.y - player.rect.y > 100:
                if self.f == 1:
                    if self.jumpwas == False:
                        self.isjump = True
            for i in range(len(bots)):
                if self.rect.x > bots[i].rect.x - 60 and self.rect.x < bots[i].rect.x + 60 and not bots[i].death:
                    if self.rect.x == bots[i].rect.x:
                        pass
                    elif self.rect.x > bots[i].rect.x:
                        self.xvel += 5
                    else:
                        self.xvel -= 5

        if self.death:
            self.jumpwas = False
        if not self.death:
            if self.isjump:
                if int(self.jump) >= 0:
                    self.yvel -= (self.jump ** 2) / 70
                    self.jump -= 1
                    self.f = 1
                    self.jumpwas = True
                else:
                    self.jumpwas = False
                    self.isjump = False
                    self.jump = 30
                    self.f = 0
        # else:
        #     self.f = 0

        if self.f == 0:
            self.fall()
        if self.death == False:
            self.rect.x += self.xvel
        self.rect.x -= player.xcamera
        if self.death == False:
            self.leg_rect.x += self.xvel
        self.leg_rect.x -= player.xcamera
        self.rect.y += self.yvel
        self.leg_rect.y = self.rect.y + 50
Example #12
0
 def __init__( self, x, y, text='' ):
     pygame.sprite.Sprite.__init__( self )
     self.Rect = pygame.Rect( x, y, 1280, 720 )
     self.image = loder.return_image(19)
     txt = pygame.font.SysFont( 'Comic Sans MS', 100 )
     self.text = txt.render( text, False, (200, 200, 200) )
Example #13
0
 def __init__( self, x, y ):
     pygame.sprite.Sprite.__init__( self )
     self.Rect = pygame.Rect( x, y, 1280, 720 )
     self.image = loder.return_image(18)
Example #14
0
  def update( self, left, right, up, fire, num ):
    self.xvel = 0
    self.yvel = 0
    self.xcamera = 0
    text = font.render( f'{self.life}hp', False, (255, 0, 0) )
    screen.blit( text, (20, 20) )

    if num - 1 < len(self.gun):
        self.numGun = num - 1
    # if botek.game_settings.state_object == 1:

    try:
        for i in range(len(life1)):
            if self.rect.colliderect( life1[i].Rect ):
                self.life += 30
        i = len( life1 )
        if i >= 1:
            while True:
                i -= 1
                if player.rect.colliderect( life1[i].Rect ):
                    life1.pop( i )
                if i == 0:
                    break
    except:
        pass
    if left and self.rect.x > 3:
      self.xvel = -6
      self.state = -1
    if right and self.rect.x < 1230:
      self.xvel = 6
      self.state = 1
    if fire:
        if len(self.gun) == 0:
            text = font.render( 'У тебя нет оружия!!', False, (255, 255, 255) )
            screen.blit( text, (500, 50) )
        else:
            self.gun[self.numGun].fire(self.state)
    if up:
      if self.f == 1:
        self.isjump = True
    if self.state == -1:
        self.image = pygame.transform.flip(loder.return_image(1), 1, 0)
    else:
        self.image = loder.return_image(1)
    try:
        stay = 0
        for i in range(len(platforms)):
            if self.leg_rect.colliderect(platforms[i].Rect) and not self.isjump:
                    stay = 1
                    self.f = 1
        if stay == 1:
            self.f = 1
        else:
            self.f = 0
    except:
        self.f = 0
    try:
        for i in range(len(object1)):
            if self.leg_rect.colliderect( object1[i].Rect ):
                    self.f = 1
    except:
        self.f = 0
    if self.isjump:
      if int( self.jump ) >= 0:
        self.yvel -= (self.jump ** 2) / 70
        self.jump -= 1
        self.f = 1
      else:
        self.isjump = False
        self.jump = 30
        self.f = 0
        # self.yvel = 0
    if not (left and right and up):
      self.idle = True

    else:
      self.idle = False
    if right:
        if self.animFrame == 60:
            self.animFrame = 0
            #self.image = scale( load_image( "player.png" ), (60, 74) )
            self.idle = True
        else:
            self.image = self.anim[self.animFrame // 9]
            self.animFrame += 1
            self.idle = False
    if left:
        if self.animFrame == 60:
            self.animFrame = 0
            #self.image = scale( load_image( "player.png" ), (60, 74) )
            self.idle = True
        else:
            self.image = pygame.transform.flip(self.anim[self.animFrame // 9], 1, 0)
            self.animFrame += 1
            self.idle = False
    if self.f == 0:
      self.fall()

    if self.life <= 0:
        self.death = True
    self.xpcamera += self.xvel
    if self.on_camera and self.xpcamera > self.xmin and self.xpcamera < self.xmax:
        if self.xvelp != 0:
            self.xcamera += self.xvelp
        else:
            self.xcamera += self.xvel


    else:
        self.rect.x += self.xvel
        self.leg_rect.x = self.rect.x
    self.rect.y += self.yvel
    self.leg_rect.y = self.rect.y + 70
Example #15
0
 def __init__( self, x, y ):
     pygame.sprite.Sprite.__init__( self )
     self.rect = pygame.Rect( x, y, 200, 250 )
     self.image = loder.return_image(20)
Example #16
0
 def update(self):
     self.xvel = 0
     self.yvel = 0
     if player.rect.x > self.rect.x - 300 and player.rect.x < self.rect.x + 300 or self.life < 40:
             self.on = True
     else:
             self.on = False
     if self.life <= 0:
         self.death = True
         self.image = loder.return_image( 22 )
         self.on = False
     if self.death:
         self.Deltime -= 1
     if self.Deltime <= 0:
         self.Del = True
     try:
         stay = 0
         for i in range(len(platforms)):
             if self.rect.colliderect(platforms[i].Rect):
                 stay = 1
                 self.f = 1
         if stay == 1:
             self.f = 1
         else:
             self.f = 0
     except:
         self.f = 0
     try:
         for i in range( len( object1 ) ):
             if self.rect.colliderect( object1[i].Rect ):
                 self.f = 1
             # else:
             #     self.f = 0
     except:
         self.f = 0
     if self.on:
         if player.rect.x > self.rect.x:
             self.state = -1
             if self.rect.x < player.rect.x - 60 or self.rect.x > player.rect.x + 60:
                 self.xvel += 4
         else:
             self.state = 1
             if self.rect.x < player.rect.x - 60 or self.rect.x > player.rect.x + 60:
                 self.xvel -= 4
         if self.rect.y == player.rect.y or self.rect.y - player.rect.y > 0 and self.rect.y - player.rect.y < 60 and not self.death:
             if self.time <= 0:
                     if self.state == 1:
                         l = -20
                     else:
                         l = 60
                     self.potron.append( potronbot( self.rect.x + l, self.rect.y + 25, self.state * -1, 10 ) )
                     self.time = 20
             else:
                 self.time -= 1
         if self.state == -1:
             self.image = pygame.transform.flip( loder.return_image( 7 ), 1, 0 )
         else:
             self.image = loder.return_image( 7 )
         for i in range( len( bots ) ):
             if self.rect.x > bots[i].rect.x - 60 and self.rect.x < bots[i].rect.x + 60 and not bots[i].death:
                 if self.rect.x == bots[i].rect.x:
                     pass
                 elif self.rect.x > bots[i].rect.x:
                     self.xvel += 4
                 else:
                     self.xvel -= 4
     if self.f == 0:
         self.fall()
     if self.death == False:
         self.rect.x += self.xvel
     self.rect.x -= player.xcamera
     self.rect.y += self.yvel
Example #17
0
 def __init__( self, x, y ):
     pygame.sprite.Sprite.__init__( self )
     self.rect = pygame.Rect( x, y, 47*2, 60*2 )
     self.image = loder.return_image( 12 )
Example #18
0
 def __init__( self, x, y ):
     pygame.sprite.Sprite.__init__( self )
     self.Rect = pygame.Rect( x, y, 30, 35 )
     self.image = loder.return_image( 11 )
     self.f = 0
Example #19
0

    else:
        self.rect.x += self.xvel
        self.leg_rect.x = self.rect.x
    self.rect.y += self.yvel
    self.leg_rect.y = self.rect.y + 70


pygame.init()
pygame.display.set_caption("DoomBot-Alpha")
sound_gun1 = pygame.mixer.Sound('gun1.wav')
sound_gun2 = pygame.mixer.Sound('gun2.wav')
sound_gun3 = pygame.mixer.Sound('gun3.wav')
screen = pygame.display.set_mode( (1280, 720)  ) #,pygame.FULLSCREEN
sky = loder.return_image( 16 )
pygame.font.init()
font = pygame.font.SysFont( 'Comic Sans MS', 40 )
name = pygame.font.SysFont('Comic Sans MS',100)
# game_settings = Game.game_settings(1,1,object1)
left = False
right = False
up = False
fire = False
num = 0
Win = False
def start_first_episode():
        pygame.mixer.music.stop()
        e = pygame.event.poll()
        if e.type == pygame.QUIT:
            raise SystemExit( "QUIT" )