def gera_veiculo(**kwargs): fila = kwargs['fila'] condition = kwargs['condition'] origem = kwargs['origem'] carros_gerados = 0 caminhoes_gerados = 0 while (carros_gerados < N_CARROS / 2 or caminhoes_gerados < N_CAMINHOES / 2): # ZONA CRÍTICA sleep(randint(TA[0], TA[1])) with condition: # GERA CARRO if randint(0, 1): if carros_gerados < N_CARROS / 2: carro = Carro(carros_gerados + 1, TRAVESSIA_CARRO, origem, 'carro', time(), 2) fila.put_nowait(carro) carros_gerados += 1 elif caminhoes_gerados < N_CAMINHOES / 2: caminhao = Caminhao(caminhoes_gerados + 1, TRAVESSIA_CAMINHAO, origem, 'caminhao', time()) fila.put_nowait(caminhao) caminhoes_gerados += 1 # GERA CAMINHÃO else: if caminhoes_gerados < N_CAMINHOES / 2: caminhao = Caminhao(caminhoes_gerados + 1, TRAVESSIA_CAMINHAO, origem, 'caminhao', time()) fila.put_nowait(caminhao) caminhoes_gerados += 1 elif carros_gerados < N_CARROS / 2: carro = Carro(carros_gerados + 1, TRAVESSIA_CARRO, origem, 'carro', time(), 2) fila.put_nowait(carro) carros_gerados += 1
#!/usr/bin/python3 #encoding: utf-8 from classes import Carro, Carro_eletrico from datetime import datetime from time import sleep carro1 = Carro('i320', 'BMW', 2017) print(carro1.modelo) while True: if carro1.tanque > 0 and carro1.velocidade < 120: carro1.acelerar() sleep(0.5) elif carro1.velocidade >= 120: carro1.frear() sleep(3) elif carro1.tanque == 0: litros = int(input('Quantos litros para abastacer?')) if litros == 0: break carro1.abastecer(litros) sleep(5)
# Livro...: Introdução a Python com Aplicações de Sistemas Operacionais # Capítulo: 08 # Questão.: 8.4.7 # Autor...: Givanaldo Rocha de Souza # Data....: 02/05/2020 from classes import Carro meuCarro = Carro(12) # consumo de 12 km/l meuCarro.abastecer(40) # abastece com 40 litros meuCarro.exibirCombustivel() # Imprime o combustível que resta no tanque. meuCarro.andar(160) # anda 160 quilômetros. meuCarro.exibirCombustivel() meuCarro.andar(280) # anda 280 quilômetros. meuCarro.exibirCombustivel()
def game_screen(window): #carrega os assets utilizando a função load_assets assets = load_assets() #estado inicial state = INICIANDO # Variável para o ajuste de velocidade clock = pygame.time.Clock() #carregando a música do jogo pygame.mixer.music.load('assets/sons/background.ogg') pygame.mixer.music.set_volume(0.4) # ===== Loop principal ===== while state != ACABADO: if state == INICIANDO: pygame.mixer.music.play(loops=-1) # Criando um grupo de carros all_sprites = pygame.sprite.Group() all_cars = pygame.sprite.Group() # Criando o jogador player = GalinhaPlayer(assets['galinha_img'], assets['som_ponto']) all_sprites.add(player) # Criando os carros #imgs dos carros carros_img_mao = [ assets['carro1_mao'], assets['carro2_mao'], assets['carro3_mao'], assets['carro4_mao'] ] carros_img_contramao = [ assets['carro1_contramao'], assets['carro2_contramao'], assets['carro3_contramao'], assets['carro4_contramao'] ] #posições em y que coloca os carros nas 6 faixas posicoes_y = [53, 102, 155, 237, 285, 337] #lista de direções dos carros direcoes = [ 'mao', 'mao', 'mao', 'contramao', 'contramao', 'contramao' ] #for que cria os carros for i, direcao in enumerate(direcoes): #randomiza a cor do carro cor = random.randint(0, 3) imagem = None if direcao == 'mao': imagem = carros_img_mao[cor] if direcao == 'contramao': imagem = carros_img_contramao[cor] carro = Carro(imagem, posicoes_y[i], direcao) all_sprites.add(carro) all_cars.add(carro) #jogador inicia o jogo com 3 vidas vidas = 3 #muda o estado do jogo para jogando ao final do estado iniciando state = JOGANDO #Ajusta a velocidade para o número de FPS clock.tick(FPS) #carrega as fontes ponto = assets['font_pontos'].render(f'Pontos: {player.pontos}', True, AMARELO_CLARO) ponto_gameover = assets['font_pontos'].render( f'Pontos: {player.pontos}', True, BORDO) texto_gameover1 = assets['font_gameover_texto'].render( 'Aperte ESPAÇO para reiniciar o jogo', True, BORDO) texto_gameover2 = assets['font_gameover_texto'].render( 'Aperte ENTER para sair do jogo', True, BORDO) game_over = assets['font_gameover'].render('GAME OVER', True, BORDO) # ----- Trata eventos for event in pygame.event.get(): # ----- Verifica consequências if event.type == pygame.QUIT: return -1 if state == JOGANDO: # Verifica se apertou alguma tecla. if event.type == pygame.KEYDOWN: # Dependendo da tecla, altera a velocidade. if event.key == pygame.K_UP: player.speedy -= 6 if event.key == pygame.K_DOWN: player.speedy += 6 # Verifica se soltou alguma tecla. if event.type == pygame.KEYUP: # Dependendo da tecla, altera a velocidade. if event.key == pygame.K_UP: player.speedy += 6 if event.key == pygame.K_DOWN: player.speedy -= 6 if state == ACABANDO: #Dependendo da tecla que o jogador apertar o jogo termina ou recomeça if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: state = INICIANDO if event.key == pygame.K_RETURN: return -1 #Verifica colisão do jogador com carros e aplica as consequências if state == JOGANDO: hits = pygame.sprite.spritecollide(player, all_cars, False, pygame.sprite.collide_mask) if len(hits) > 0: #Toca o som da batida e reposiciona o jogador na posição inicial assets['som_batida'].play() player.rect.bottom = HEIGHT #perde a vida vidas -= 1 #muda estado do jogo se as vidas acabaram if vidas == 0: state = ACABANDO assets['som_fim'].play() #Mata as sprites se as vidas acabam elif state == ACABANDO: player.kill() for i in all_cars: i.kill() #Se o jogador ainda tem vidas atualiza as posições das sprites if state == JOGANDO: player.update() all_cars.update(player.pontos) # ----- Gera saídas #Preenche a tela com o background if state == JOGANDO: window.fill(PRETO) window.blit(assets['background'], (0, 0)) window.blit(ponto, (310, 4)) #Preenche a tela com os corações text_surface = assets['font_pontos'].render( chr(9829) * vidas, True, BORDO) text_rect = text_surface.get_rect() text_rect.bottomleft = (10, HEIGHT - 10) window.blit(text_surface, text_rect) #Se as vidas acabaram preenche a tela com a tela de game over if state == ACABANDO: window.fill(PRETO) window.blit(game_over, (100, 100)) window.blit(ponto_gameover, (170, 200)) window.blit(texto_gameover1, (72, 300)) window.blit(texto_gameover2, (92, 350)) pygame.mixer.music.stop() #desenha as sprites na tela all_sprites.draw(window) # Mostra o novo frame para o jogador pygame.display.update()
from classes import Motor, Carro carro01 = Carro(1, 'Honda Civic', '4 cilindros') print('\n-------------------MOTOR-------------------\n') print('Id do motor = ', carro01.getIdMotor()) print('Modelo do motor = ', carro01.getMotor()) print('\n-------------------CARRO-------------------\n') print('Id do carro = ', carro01.getId()) print('Modelo do carro = ', carro01.getModelo())
Inic = pygame.image.load("Inicio.png") pygame.mouse.set_visible(0) # Ocultar el puntero # --- Contenedores para entidades: monedas y enemigos --- # Mediante la clase Group se puede agregar objetos para deteccion de colision y para la mecanica del juego # Instanciar grupo de monedas moneda_lista = pygame.sprite.Group() # Instanciar grupo de enemigos enemigos_lista = pygame.sprite.Group() # Instancia para almacenar las imagenes que corresponden a las entidades lista_sprites = pygame.sprite.Group() # Carro, recibe coordenadas en X y Y, su imagen, su color de fondo # y una etiqueda para diferenciarlo de la IA car = Carro(x_coord, y_coord, pygame.image.load("Carro.png"), negro, 'Player') # --- Variables para texto en pantalla. --- # Puntaje # Función que recibe el tipo de letra y el tamano, None por defecto fuente = pygame.font.Font(None, 25) # Crea una superficie para poner el texto texto = fuente.render("Score:", True, blanco) # Fin de juego fuente2 = pygame.font.Font(None, 70) final = fuente2.render("Game Over", True, blanco) # Inicio fuente3 = pygame.font.Font(None, 40) inicio = fuente3.render("Pulse una tecla para iniciar", True, rojo) # Ubica una imagen en la pantalla, recibe la imagen y la posición incial
def main(): uno = classes.Carro('uno', 14000.4, 2000) fusca = Carro('fusca', 30000.3, 1957) print(uno.obter_tudo()) print(fusca.obter_tudo())