def initializeGL(self): glClearColor(0.0, 0.0, 0.0, 0.0) glShadeModel(GL_SMOOTH) glEnable(GL_BLEND) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) glEnable(GL_ALPHA_TEST) glAlphaFunc(GL_NOTEQUAL, 0.0) glMatrixMode(GL_PROJECTION) glLoadIdentity() glOrtho(-50.0, 50.0, -50.0, 50.0, -1, 1) glMatrixMode(GL_MODELVIEW) glLoadIdentity() self.myNave = Nave(self.animation_propellant_enemy, self.player_x) self.in_scene.append(self.myNave) self.myNave2 = Nave(self.animation_propellant_enemy, self.player2_x) self.in_scene.append(self.myNave2) self.imageID_back = self.loadImage("img/Background.png") for i in range(EXPLOSION_FRAMES): self.animation_explosion[i] = self.loadImage("img/explosion/Comp" + str(i) + ".png") for i in range(PROPELLANT_FRAMES): self.animation_propellant_enemy[i] = self.loadImage( "img/fire/Comp" + str(i) + ".png") self.img_nave_amarela = self.loadImage("img/nave4.png") self.img_nave_azul = self.loadImage("img/nave1.png") self.img_nave_preta = self.loadImage("img/nave3.png") self.img_tiro_amarelo = self.loadImage("img/nave4_pow.png") self.img_tiro_preto = self.loadImage("img/nave3_pow.png") self.img_tiro_azul = self.loadImage("img/nave1_pow.png") self.img_tiro = self.loadImage("img/nave2_pow.png") self.logo_init = self.loadImage("img/SpaceCute.png") self.logo_end = self.loadImage("img/YouDied.png") self.myLogo_i.load("inicio", self.logo_init, self.logo_end) self.ornaments.append(self.myLogo_i) self.myLogo_i.inited = True self.myLogo_e.load("fim", self.logo_init, self.logo_end) self.init_queue()
def prep_naves(self): self.naves = Group() for numero_naves in range(self.estadisticas.naves_restantes): nave = Nave(self.configuracion_ia, self.pantalla) nave.rect.x = 10 + numero_naves * nave.rect.width nave.rect.y = 10 self.naves.add(nave)
def run_game(): pygame.init() m_settings = Settings() stats = Estadisticas(m_settings) fj.cargar_puntuacion(stats) screen = pygame.display.set_mode((m_settings.screen_width, m_settings.screen_height)) #dibujar pantalla nave = Nave(screen, m_settings) #Dibujar nave balas = Group() #Un grupo es una lista con funciones añadidas marcianitos = Group() fj.crear_flota(m_settings, screen, nave, marcianitos) icon = pygame.image.load("images/alien.bmp") pygame.display.set_icon(icon) pygame.display.set_caption("Marcianitos") boton = Boton(m_settings, screen, "Jugar") hud = Hud(m_settings, screen, stats) m.musica_fondo() while True: fj.comprobar_eventos(m_settings, screen, nave, balas, stats, marcianitos, boton) if stats.jugando: nave.actualizar_posicion(m_settings) fj.actualizar_balas(m_settings, screen, nave, marcianitos, balas, stats, hud) fj.actualizar_flota(m_settings, stats, screen, balas, marcianitos, nave, hud) fj.actualizar_pantalla(m_settings, screen, nave, marcianitos, balas, boton, stats, hud)
def run_game(): pygame.init() #Inicializa o jogo e cria um objeto para a tela ai_configuracoes = Configuracoes( ) #objeto ai_configuracoes da Classe Configuracoes tela = pygame.display.set_mode( (ai_configuracoes.tela_width, ai_configuracoes.tela_height)) pygame.display.set_caption("Space War") nave_espacial = Nave(ai_configuracoes, tela) #objeto nave_espacial da classe Nave municoes = Group() #Cria um grupo no qual serão armazenados as munições aliens = Group() #Cria um grupo vazio para armazenar os aliens do jogo jf.cria_frota( ai_configuracoes, tela, nave_espacial, aliens ) #Cria uma frota de aliens (usa configurações, tela e um grupo vazio de aliens) while True: #Inicia o laço principal do jogo jf.check_eventos(ai_configuracoes, tela, nave_espacial, municoes) #checa os eventos nave_espacial.update_nave() #posicionamento da nave jf.update_municoes( ai_configuracoes, tela, nave_espacial, aliens, municoes) #verifica as municoes na tela ,se houve disparo jf.update_aliens(ai_configuracoes, aliens) jf.update_tela(ai_configuracoes, tela, nave_espacial, aliens, municoes) #update da tela
def __init__(self,idProceso,prioridad,recurso,posX ,ventana, posY,quantum=0,nombre="ataque planeta",t=8,tr=0,): Proceso.__init__(self,idProceso,prioridad,quantum,nombre,recurso,t,tr,ventana) Sprite.__init__(self) self.disparo = Nave() self.disparo.rect.top = posY self.disparo.rect.left = posX self.disparo.disparada = True
def prep_naves(self): """Amostra quantas naves ainda restam""" self.naves = Group() for nave_num in range(self.stats.nave_left): nave = Nave(self.ik_game) nave.image = pygame.transform.rotate(pygame.transform.scale( pygame.image.load(os.path.join('complemento/aventine_ship.bmp')), (50, 20)), 90) nave.rect.x = 10 + nave_num * nave.rect.width nave.rect.y = 10 self.naves.add(nave)
def run_game(): pygame.init() settings = Settings() screen = pygame.display.set_mode( (settings.tela_larguraX, settings.tela_alturaY)) naveX_change = 0 naveY_change = 0 nave = Nave(screen) run = True while run: screen.fill((settings.bg_color)) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False if event.type == pygame.KEYDOWN: # 1-quando a tecla estah sendo apartada if event.key == pygame.K_UP: naveY_change = -settings.velocidade if event.key == pygame.K_DOWN: naveY_change = settings.velocidade if event.key == pygame.K_LEFT: naveX_change = -settings.velocidade if event.key == pygame.K_RIGHT: naveX_change = settings.velocidade if event.key == pygame.K_ESCAPE or event.key == pygame.K_q: run = False if event.type == pygame.KEYUP: if event.key == pygame.K_UP or event.key == pygame.K_DOWN: naveY_change = 0 if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT: naveX_change = 0 settings.naveY += naveY_change settings.naveX += naveX_change if settings.naveX <= 0: settings.naveX = 0 elif settings.naveX >= 736: settings.naveX = 736 if settings.naveY <= 0: settings.naveY = 0 elif settings.naveY >= 535: settings.naveY = 535 nave.colocar(settings.naveX, settings.naveY) pygame.display.update()
def run_game(): # Inicializa o jogo e define resolução pygame.init() config = Settings() tela = pygame.display.set_mode((config.screen_width, config.screen_height)) pygame.display.set_caption("Alien Invasion") nave = Nave(tela, config) while True: # Laço principal do jogo game_functions.check_events(nave) nave.update() game_functions.update_screen(config, tela, nave)
def criarNave(self, idModelo, nick): orientacaoInicial = sample( [0, 90, 180, 270], 1)[0] #escolhe uma direcao aleatoria para comecar posicaoInicial = [randint(0, 600), randint(0, 600) ] #escolhe uma posicao aleatoria para comecar a nave velocidade = self.__modelos[idModelo].getVelocidadePadrao() nave = Nave(orientacaoInicial, posicaoInicial, velocidade, idModelo, self.__modelosTiroPadrao[idModelo], nick, self.__modelos[idModelo].getGp()) print("id nave criado: ", nave.getId()) self.__naves[nave.getId()] = nave return [nave.getId(), nave.getOrientacao(), nave.getPosicao()]
def run_game(): pygame.init() ai_config = Config() screen = pygame.display.set_mode( (ai_config.screen_width, ai_config.screen_height)) image = ai_config.sprit_image pygame.display.set_caption('Foguete') nave = Nave(ai_config, screen) while True: gf.check_events(nave) nave.update() gf.update_screen(image, screen, nave)
def __init__(self): pygame.init() self.conf = Configurador() #Abre la pantalla self.pantalla = pygame.display.set_mode( (self.conf.ancho_pant, self.conf.largo_pant)) pygame.display.set_caption("Hola Pyschool") self.nave = Nave(self) self.balas = pygame.sprite.Group() self.aliens = pygame.sprite.Group() self._crear_invasores()
def reestart(self): self.reloc() self.started = False self.in_scene = [] self.player_x = 0 self.player2_x = 20 self.myNave = Nave(self.animation_propellant_enemy, self.player_x) self.myNave2 = Nave(self.animation_propellant_enemy, self.player_x + 20) self.elapsed_time_shoot = 0 self.elapsed_time_asteroide = 0 self.elapsed_time_inimigo = 0 self.hack = False self.in_scene.append(self.myNave) self.in_scene.append(self.myNave2) self.sound_inGame.stop() self.sound_inGame = QSound("sound/inGame.wav", self) self.sound_inGame.play() if self.myLogo_i.inited: self.ornaments.remove(self.myLogo_i) self.myLogo_i.inited = False if self.myLogo_e.inited: self.ornaments.remove(self.myLogo_e) self.myLogo_e.inited = False
def rodar_game(): pygame.init() #inicializa a biblioteca paygame configuracoes = Configuracoes() #cria o objeto configuracoes tela = pygame.display.set_mode( (configuracoes.largura_tela, configuracoes.altura_tela)) #configura as dimensoes da tela pygame.display.set_caption( "Invasão Alienígena") #adiciona um titulo a tela criada play = Botao(configuracoes, tela, "PLAY") #criar o objeto botao para play nave = Nave(configuracoes, tela) #criar o objeto nave tiros = Group() #criar um grupo de tiros aliens = Group() #criar um grupo de aliens naves_vidas = Group() #criar um grupo de naves para vidas tela_pontuacao = TelaPontuacao(configuracoes, tela) #criar tela para pontuacao fg.criar_frota_aliens(aliens, nave, configuracoes, tela) #criar frota inicial de aliens fg.criar_naves_vidas(naves_vidas, configuracoes, tela) #criar as tres naves vidas while True: fg.checar_eventos(nave, tiros, configuracoes, tela, play) #checa eventos do teclado fg.atualizar_tela(configuracoes, nave, naves_vidas, tela, tiros, aliens, play, tela_pontuacao) #atualiza a tela para cada ciclo if configuracoes.jogo_ativo: #condicao para jogo comecar nave.atualizacao_nave() #atualiza a posicao da nave fg.atualizacao_tiros(tiros) #atualiza a posicao dos tiros tela_pontuacao.atualizacao_pontuacao() fg.atualizar_frota(aliens, tiros, nave, naves_vidas, configuracoes, tela) #atualiza a tela por ciclo do laco
def reestart(self): self.reloc() self.started = False self.player_move_left = False self.player_move_right = False self.myNave = Nave(0) self.elapsed_time_shoot = 0 self.elapsed_time_asteroide = 0 self.elapsed_time_inimigo = 0 self.in_scene = [] self.in_scene.append(self.myNave) self.sound_inGame.stop() self.sound_inGame = QSound("sound/inGame.wav", self) self.sound_inGame.play() if self.myLogo_i.inited: self.ornaments.remove(self.myLogo_i) self.myLogo_i.inited = False if self.myLogo_e.inited: self.ornaments.remove(self.myLogo_e) self.myLogo_e.inited = False
def run_game(): # Inicializa o pygame, as configurações e o objeto screen pygame.init() ai_settings = Cfg() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("invasao alien") # Cria uma espaçonave nave = Nave(ai_settings, screen) disparos = Group() # Inicializa o laço principal do jogo while True: # Observa eventos de teclado e de mouse gf.check_events(ai_settings, screen, nave, disparos) nave.update() gf.disparos_update(disparos) gf.update_screen(ai_settings, screen, nave, disparos)
def run(self) -> None: """ Bucle principal del juego. """ self.clock = pygame.time.Clock() self.nave = Nave(self.nav_img, 200, 400) while True: self.clock.tick(40) # - events - for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # - draw - self.window.blit(self.bg, (0, 0)) self.nave.draw(self.window) self.nave.update() # - updates - pygame.display.update()
def __init__(self): """Inicializa o jogo e cria os recursos""" pygame.init() self.configuracoes = Configuracoes() """Para habilitar modo Fullscreen, retire as anotações dos três códigos abaixo e adicione observação no 'self.screen'""" # self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) # self.configuracoes.screen_width = self.screen.get_rect().width # self.configuracoes.screen_height = self.screen.get_rect().height self.screen = pygame.display.set_mode( (self.configuracoes.screen_width, self.configuracoes.screen_height)) pygame.display.set_caption("Invasão Klingon") # Cria uma instância para armazenar os dados do jogo self.stats = GameStats(self) self.placar = Placar(self) self.placar = Placar(self) # Músicas de fundo self.open_music = pygame.mixer.Sound( os.path.join("complemento/tng_open.mp3") ) # Abertura da série Star Trek: Next Generation self.battle_music = pygame.mixer.Sound( os.path.join( "complemento/first_contact.mp3")) # Assimilation battle sound # Sprites self.nave = Nave(self) self.tiros = pygame.sprite.Group() self.klingons = pygame.sprite.Group() self._criar_frota() # Botão de iniciar self.play_botao = Botao(self, "Iniciar") # Icon self.icon = pygame.transform.scale( pygame.image.load(os.path.join("complemento/klingon_icon.png")), (35, 35)) pygame.display.set_icon(self.icon)
def correr_juego(): pygame.init() configuracion_ia = Configuracion() pantalla = pygame.display.set_mode( (configuracion_ia.ancho_pantalla, configuracion_ia.alto_pantalla)) pygame.display.set_caption("Invasion Alien") boton_jugar = Boton(configuracion_ia, pantalla , "Jugar!") estadisticas = EstadisticasJuego(configuracion_ia) tp = TablaPuntaje(configuracion_ia, pantalla, estadisticas) nave = Nave(configuracion_ia, pantalla) balas = Group() aliens = Group() fj.crear_flota(configuracion_ia, pantalla, nave, aliens) while True: fj.chequear_events(configuracion_ia, pantalla, estadisticas, tp, boton_jugar, nave, aliens, balas) if estadisticas.juego_activo: nave.actualizar() fj.actualizar_balas(configuracion_ia,pantalla, estadisticas, tp, nave, aliens, balas) fj.actualizar_aliens(configuracion_ia, estadisticas, tp, pantalla, nave, aliens, balas) fj.actualizar_pantalla(configuracion_ia, pantalla, estadisticas, tp, nave, aliens, balas, boton_jugar)
def criar_naves_vidas(naves_vidas, configuracoes, tela): for i in range(configuracoes.limite_vida): nova_nave_vida = Nave(configuracoes, tela) nova_nave_vida.rect.top = nova_nave_vida.tela_rect.top nova_nave_vida.rect.x = nova_nave_vida.rect.width * i naves_vidas.add(nova_nave_vida)
def run(): """ Inicio del juego y crea el screen del juego """ print(platform.python_version()) #Ver version python #pygame.init() #Alternativa al init para ganar velocidad pygame.display.init() pygame.font.init() configuracion = Configuracion() #Configuracion inicial del juego #Lee la configuracion de pantalla pantalla = pygame.display.set_mode( (configuracion.ancho_pantalla, configuracion.alto_pantalla)) pygame.display.set_caption(configuracion.nombre) #Nombre del juego #Crea una instancia de una nave nave = Nave(configuracion, pantalla) #Crea una instancia de un marciano #marciano=Marciano(configuracion,pantalla) #Creo la flota de marcianos marcianos = Group() #Crea la flota de marcianos func.crear_flota(configuracion, pantalla, nave, marcianos) #Guarda los disparos en un grupo de pygame.sprite disparos = Group() #Guarda los disparos marcianos en un grupo de pygame.sprite disparosM = Group() #puntuaciones inicializa puntuaciones , n naves etc marcador = Marcador(configuracion) #Informacion de las puntuaciones , marcadores informacion = Informaciones(configuracion, pantalla, marcador) #Crea un boton de play boton = Boton(configuracion, pantalla, "Juega") #Crea un bunker bunkers = pygame.sprite.Group() func.crear_bunkers(configuracion, pantalla, bunkers) #Sonidos juego sonidos = Sonidos() #Bucle principal while True: sleep(0.01) #CPU usage #Mira eventos de teclado o raton func.analiza_eventos(configuracion, pantalla, marcador, boton, nave, disparos, sonidos) if marcador.juego_activo: #Juego activo ?Todas las vidas ? #Dibuja la nave del jugador nave.actualiza() #Actualiza TODOS los disparo en el GROUP pero es un disparo func.actualiza_disparos( configuracion, marcador, pantalla, nave, marcianos, disparos, bunkers, sonidos) #Este update() esta en la clase disparo #Actualiza si un marciano ha disparado , falta mostrarlo func.actualiza_marcianos(configuracion, marcador, pantalla, nave, marcianos, disparos, disparosM, bunkers, sonidos) #Actualiza disparos Marcianos func.actualiza_disparosMarcianos( configuracion, marcador, pantalla, bunkers, nave, marcianos, disparosM, sonidos) #Este update() esta en la clase disparo func.actualiza_pantalla(configuracion, pantalla, informacion, marcador, nave, marcianos, disparos, disparosM, boton, bunkers) #Muestra en pantalla pygame.display.flip()
def initializeGL(self): glClearColor(0.0, 0.0, 0.0, 0.0) glShadeModel(GL_SMOOTH) glEnable(GL_DEPTH_TEST) glEnable(GL_BLEND) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) glEnable(GL_ALPHA_TEST) glAlphaFunc(GL_NOTEQUAL, 0.0) glMatrixMode(GL_PROJECTION) glLoadIdentity() gluPerspective(45, 1.65, 0.1, 500) gluLookAt(0, -100, 50, 0, 0, 0, 0, 1, 0) glMatrixMode(GL_MODELVIEW) glLoadIdentity() self.myNave = Nave(self.animation_propellant_enemy, 0) self.in_scene.append(self.myNave) for i in range(EXPLOSION_FRAMES): self.animation_explosion[i] = self.loadImage("img/explosion/Comp" + str(i) + ".png") for i in range(PROPELLANT_FRAMES): self.animation_propellant_enemy[i] = self.loadImage( "img/fire/Comp" + str(i) + ".png") for i in range(10): self.img_planets[i] = self.loadImage("img/planets/planeta" + str(i) + ".png") self.img_nave_amarela = self.loadImage("img/nave4.png") self.img_nave_azul = self.loadImage("img/nave1.png") self.img_nave_preta = self.loadImage("img/nave3.png") self.img_tiro_amarelo = self.loadImage("img/nave4_pow.png") self.img_tiro_preto = self.loadImage("img/nave3_pow.png") self.img_tiro_azul = self.loadImage("img/nave1_pow.png") self.img_tiro = self.loadImage("img/nave2_pow.png") self.logo_init = self.loadImage("img/SpaceCute.png") self.logo_end = self.loadImage("img/YouDied.png") self.power_up_vida = self.loadImage("img/power_up_life.png") self.power_up_shoot = self.loadImage("img/power_up_shot.png") self.power_up_speed = self.loadImage("img/power_up_speed.png") self.myLogo_i.load("inicio", self.logo_init, self.logo_end) self.ornaments.append(self.myLogo_i) self.myLogo_i.inited = True self.myLogo_e.load("fim", self.logo_init, self.logo_end) self.init_queue() # Arrumando erros de frict fix_p = self.propellant_queue.pop() fix_p.load(self.animation_propellant_enemy, 1000, 1000, "fix") self.ornaments.append(fix_p) new_explosion = self.explosion_queue.pop() new_explosion.load(self.animation_explosion, 1000, 1000, "fix") self.ornaments.append(new_explosion) tx = 0 ambiente = [0.2, 0.2, 0.2, 1.0] difusa = [0.7, 0.7, 0.7, 1.0] especular = [1.0, 1.0, 1.0, 1.0] posicao = [0.0, 3.0, 2.0, 0.0] lmodelo_ambiente = [0.2, 0.2, 0.2, 1.0] glLightfv(GL_LIGHT0, GL_AMBIENT, ambiente) glLightfv(GL_LIGHT0, GL_DIFFUSE, difusa) glLightfv(GL_LIGHT0, GL_POSITION, posicao) glLightfv(GL_LIGHT0, GL_SPECULAR, especular) glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodelo_ambiente) glEnable(GL_LIGHTING) glEnable(GL_LIGHT0) glEnable(GL_COLOR_MATERIAL)
def selecao(self): """ Este metodo controla a selecao de jogadores e naves """ for i in range(2): system("clear") print("SELEÇÃO") print("1 - Criar") print("2 - Já tenho") opcao = input(": ") if opcao == "1": print("\nJOGADOR") while True: nome = input("Nome: ").upper() if not self.buscar_nome(nome): break else: print("Este jogador já existe.\n") print("\nNAVE") print( "Você tem 10 pontos para distribuir (entre velocidade máxima, aceleração e escudo)." ) while True: try: velocidade_maxima = int( input("Velocidade máxima (1-5): ")) aceleracao = int(input("Aceleração (1-5): ")) escudo = int(input("Escudo (0-5): ")) except: print("Valor inválido!\n") continue if velocidade_maxima + aceleracao + escudo <= 10: break else: print("Você gastou mais de 10 pontos.\n") while True: print("Cor:") print("1 - vermelho") print("2 - amarelo") print("3 - verde") print("4 - azul turquesa") print("5 - azul") print("6 - roxo") try: cor = int(input(": ")) except: print("Valor inválido!\n") continue if cor > 0 and cor < 7: break else: print("Cor inexistente.") if i == 0: nave = Nave(jogo.ambiente, cor, Vetor(200, 300), velocidade_maxima, aceleracao * 0.5, escudo, 0) else: nave = Nave(jogo.ambiente, cor, Vetor(1000, 300), velocidade_maxima, aceleracao * 0.5, escudo, 1) self.lista_naves.append(nave) self.salvar_configuracao(nome, cor, velocidade_maxima, aceleracao * 0.5, escudo) elif opcao == "2": nome = input("Nome: ").upper() configuracao = self.ler_configuracao(nome) if i == 0: nave = Nave(jogo.ambiente, configuracao[0], Vetor(200, 300), configuracao[1], configuracao[2], configuracao[3], 0) else: nave = Nave(jogo.ambiente, configuracao[0], Vetor(1000, 300), configuracao[1], configuracao[2], configuracao[3], 1) self.lista_naves.append(nave) else: print("Opção inválida") sys.exit()
"""Exercicio com pygame.""" import pygame from estrela import Estrela import random from nave import Nave estrelas = [] rastros = [] num_estrelas = 300 num_rastros = 5 vel_mult = 2 nave = Nave() rastrocontrol = Nave() nave_espacial = pygame.image.load("./imgs/nave.png") GREY = (128, 128, 128) BLACK = (0, 0, 0) WHITE = (255, 255, 255) def criacao(param): """Metodo de criacao de estrela.""" if param == 0: x = random.randint(0, 800) elif param == 1: x = 800 y = random.randint(0, 600) vel = random.randint(1, 3) estrela = Estrela()
pygame.mixer.music.load("data/música/the_field_of_dreams.mp3") pygame.mixer.music.play(-1) play2() # =====================================================# # Sounds: # # =====================================================# shoot = pygame.mixer.Sound("data/música/Shoot.wav") # =====================================================# # loop: # # =====================================================# nave = Nave(objectGroup) asteroid = Asteroid(objectGroup) gameLoop = True gameOver = False clock = pygame.time.Clock() numero = 10 if __name__ == "__main__": while gameLoop: clock.tick(30) for event in pygame.event.get(): if event.type == pygame.QUIT:
def instancia_nave(): """Instancia uma nave.""" nave = Nave() nave.set_x = 100 nave.set_y = 100