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
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) )
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
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
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
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()
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
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
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) )
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()
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
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) )
def __init__( self, x, y ): pygame.sprite.Sprite.__init__( self ) self.Rect = pygame.Rect( x, y, 1280, 720 ) self.image = loder.return_image(18)
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
def __init__( self, x, y ): pygame.sprite.Sprite.__init__( self ) self.rect = pygame.Rect( x, y, 200, 250 ) self.image = loder.return_image(20)
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
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 )
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
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" )