Exemple #1
0
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
Exemple #2
0
#!/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)
Exemple #3
0
# 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()
Exemple #4
0
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()
Exemple #5
0
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())
Exemple #6
0
    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
Exemple #7
0
def main():
    uno = classes.Carro('uno', 14000.4, 2000)
    fusca = Carro('fusca', 30000.3, 1957)
    print(uno.obter_tudo())
    print(fusca.obter_tudo())