fork download
  1.  
Success #stdin #stdout 0.05s 63192KB
stdin
import random
import time

# Configuración inicial
ANCHO = 30  # Ancho de la "pantalla"
ALTO = 15   # Alto de la "pantalla"

# Posiciones iniciales de la paleta y la bola
paleta_pos = ANCHO // 2
bola_x = ANCHO // 2
bola_y = ALTO // 2
bola_dx = random.choice([-1, 1])
bola_dy = 1

# Variables del juego
rebotes = 0
perdido = False

def dibujar_tablero():
    """Dibuja el tablero en consola."""
    for y in range(ALTO):
        linea = ""
        for x in range(ANCHO):
            if y == 0 or y == ALTO - 1:  # Bordes superior e inferior
                linea += "-"
            elif x == 0 or x == ANCHO - 1:  # Bordes izquierdo y derecho
                linea += "|"
            elif y == bola_y and x == bola_x:  # Posición de la bola
                linea += "O"
            elif y == ALTO - 2 and paleta_pos - 2 <= x <= paleta_pos + 2:  # Paleta
                linea += "="
            else:
                linea += " "
        print(linea)

def mover_paleta(direccion):
    """Mueve la paleta a la izquierda o derecha."""
    global paleta_pos
    if direccion == "a" and paleta_pos > 2:
        paleta_pos -= 1
    elif direccion == "d" and paleta_pos < ANCHO - 3:
        paleta_pos += 1

def actualizar_bola():
    """Actualiza la posición de la bola y verifica colisiones."""
    global bola_x, bola_y, bola_dx, bola_dy, rebotes, perdido

    # Mover la bola
    bola_x += bola_dx
    bola_y += bola_dy

    # Verificar colisión con los bordes izquierdo y derecho
    if bola_x <= 1 or bola_x >= ANCHO - 2:
        bola_dx *= -1

    # Verificar colisión con el borde superior
    if bola_y <= 1:
        bola_dy *= -1

    # Verificar colisión con la paleta
    if bola_y == ALTO - 3 and paleta_pos - 2 <= bola_x <= paleta_pos + 2:
        bola_dy *= -1
        rebotes += 1

    # Verificar si la bola se pierde
    if bola_y >= ALTO - 1:
        perdido = True

# Bucle principal del juego
print("¡Bienvenido a Pong en consola!")
print("Usa 'a' para mover la paleta a la izquierda y 'd' para moverla a la derecha.")
print("Presiona Enter para iniciar.")
input()

while not perdido:
    # Dibujar el tablero
    print("\033c", end="")  # Limpiar la pantalla
    dibujar_tablero()

    # Mostrar información del juego
    print(f"Rebotes: {rebotes}")
    print("Controles: 'a' (izquierda), 'd' (derecha)")

    # Mover la paleta según la entrada del jugador
    if rebotes % 5 == 0 and rebotes > 0:
        print("++Multiple que colores puedes")
        
    entrada = input("Tu movimiento: ").strip().lower()
    if entrada in ["a", "d"]:
        mover_paleta(entrada)

    # Actualizar la posición de la bola
    actualizar_bola()

    # Esperar un poco para que el juego sea jugable
    time.sleep(0.1)

# Mostrar mensaje de derrota
print("\033c", end="")  # Limpiar la pantalla
print("¡Perdiste! La bola amarilla salió de la pantalla.")
print(f"Rebotes logrados: {rebotes}")
stdout
Standard output is empty