Example #1
0
def mostrar_estado_juego(juego):
    gamelib.draw_begin
   
    gamelib.draw_rectangle(1,1,405,405, fill="black")
    gamelib.draw_line(401,0, 401, 400)
    gamelib.draw_text('CONTROLES:', 500, 30, size=10, fill='salmon')
    gamelib.draw_text('t = teletransportarse', 500, 60, size=8)
    gamelib.draw_text('a = mover izq', 500, 90, size=8)
    gamelib.draw_text('s = mover abajo', 500, 120, size=8)
    gamelib.draw_text('w = mover arriba', 500, 150, size=8)
    gamelib.draw_text('d = mover der',500, 180, size=8)
    gamelib.draw_text('e = mover arriba-der', 500, 210, size=8)
    gamelib.draw_text('q = mover arriba-izq', 500, 240, size=8)
    gamelib.draw_text('x = mover abajo-der:', 500, 270, size=8)
    gamelib.draw_text('z = mover abajo-izq:', 500, 300, size=8)
    gamelib.draw_text('NIVEL ACTUAL:', 500, 330, size=10, fill='salmon')
    gamelib.draw_text(f'{juego.mostrar_nivel()}', 500, 350, size=9)
    gamelib.draw_text('Teletransportes restantes: ', 500, 369, size=10, fill='salmon')
    gamelib.draw_text(f'{juego.teletransportes}', 500, 387, size=9)

    for fila in range(len(juego.grilla)):
        for columna in range(len(juego.grilla)):

            if juego.grilla[fila][columna] == 1:
                gamelib.draw_text("@", (columna * 20) + 10, (fila * 20) + 10, fill='gold')
            if juego.grilla[fila][columna] == 2:
                gamelib.draw_text("+", (columna * 20) + 10, (fila * 20) + 10, fill='red')
            if juego.grilla[fila][columna] == 3:
                gamelib.draw_text("*", (columna * 20) + 10, (fila * 20) + 10, fill='blue')
                
                

    gamelib.draw_end
def crear_tablero():
    """
    Dibuja el tablero del juego
    """
    filas_px = GRILLA_PX // FILAS_CANTIDAD
    for fila in range(0, GRILLA_PX + 1, filas_px):
        gamelib.draw_line(fila, 0, fila, GRILLA_PX, fill="white", width=1)
        gamelib.draw_line(0, fila, GRILLA_PX, fila, fill="white", width=1)
Example #3
0
def dibujar_grilla(filas, columnas):
    punto_inicial = (30, 60)
    for n in range(filas + 1):
        gamelib.draw_line(punto_inicial[0],
                          punto_inicial[1] + LADO_CUADRADOS * n,
                          ANCHO_PANTALLA - punto_inicial[0],
                          punto_inicial[1] + LADO_CUADRADOS * n,
                          fill='white',
                          width=1)
    for n in range(columnas + 1):
        gamelib.draw_line(punto_inicial[0] + LADO_CUADRADOS * n,
                          punto_inicial[1],
                          punto_inicial[0] + LADO_CUADRADOS * n,
                          ALTO_PANTALLA,
                          fill='white',
                          width=1)
Example #4
0
def dibujar_grilla():
    # Dibujo los bordes del juego.
    gamelib.draw_polygon(
        [0, MARGEN_SUPERIOR, 1350, MARGEN_SUPERIOR, 1350, 1050, 0, 1050],
        outline='white',
        fill='white')

    # Dibujo columnas.
    for i in range(ANCHO):
        gamelib.draw_line(0 + i * ANCHO_Y_ALTO_CELDA,
                          MARGEN_SUPERIOR,
                          0 + i * ANCHO_Y_ALTO_CELDA,
                          1050,
                          fill='black',
                          width=1)

    # Dibujo filas.
    for i in range(ALTO):
        gamelib.draw_line(0,
                          MARGEN_SUPERIOR + i * ANCHO_Y_ALTO_CELDA,
                          1350,
                          MARGEN_SUPERIOR + i * ANCHO_Y_ALTO_CELDA,
                          fill='black',
                          width=1)
Example #5
0
def dibujar_superficie(juego):
  '''Se dibujara la grilla del tetris'''
  gamelib.draw_image('img/fondo6.gif', -80, 10)
  ancho, alto = tetris.dimensiones(juego)
  gamelib.draw_line(600, 250, 900, 250, fill='white', width=3)
  gamelib.draw_text('PRÓXIMA PIEZA:', 630, 10, fill='white', anchor='nw')
  for x in range (0, 600, 66):
    gamelib.draw_line(x, 0, x, 900, fill='white', width=2) 
  for y in range (0, 900, 50):
    gamelib.draw_line(0, y, 595, y, fill='white', width=2)  
  for y in range(alto):
        for x in range(ancho):
            if tetris.hay_superficie(juego, x, y):  
              gamelib.draw_rectangle(x*66, y*50, (x+1)*66, (y+1)*50, outline='white', fill='purple')
Example #6
0
def main():

    # Inicializar el estado del juego
    gamelib.resize(400, 450)
    pieza = tetris.generar_pieza()
    juego = tetris.crear_juego(pieza)
    pieza_i = tetris.generar_pieza()
    timer_bajar = ESPERA_DESCENDER
    while gamelib.loop(fps=10):

        gamelib.draw_begin()
        gamelib.draw_text("SIGUIENTE PIEZA: ", 300, 20)
        gamelib.draw_text("PUNTAJE:", 275, 300)
        #lineas verticales
        for i in range(1, 10):
            gamelib.draw_line(TAMANOCELDA * i, 0, TAMANOCELDA * i, ALTOTABLERO)
        #lineas horizontales
        for i in range(1, tetris.ALTO_JUEGO):
            gamelib.draw_line(0, TAMANOCELDA * i, ANCHOTABLERO,
                              TAMANOCELDA * i)
        # Dibujar la pantalla
        gamelib.draw_end()

        for event in gamelib.get_events():
            if not event:
                break

            if event.type == gamelib.EventType.KeyPress:
                tecla = event.key
                dicteclas = tetris.pasar_a_diccionario("teclas.txt")
                a = dicteclas.get(tecla, None)

                if a == "ROTAR":
                    juego = tetris.rotar(juego)

                if a == "DESCENDER":
                    juego, _ = tetris.avanzar(juego, pieza_i)
                    if _:
                        pieza_i = tetris.generar_pieza()
                if a == "IZQUIERDA":
                    juego = tetris.mover(juego, tetris.IZQUIERDA)

                if a == "DERECHA":
                    juego = tetris.mover(juego, tetris.DERECHA)
                if a == "GUARDAR":
                    juego = tetris.guardar_partida(juego, "partida.txt")
                if a == "CARGAR":
                    juego = tetris.cargar_partida("partida.txt")
                if a == "SALIR":
                    return

                # Actualizar el juego, según la tecla presionada

        timer_bajar -= 1
        if timer_bajar == 0:

            juego, _ = tetris.avanzar(juego, pieza_i)
            if _:
                pieza_i = tetris.generar_pieza()
            timer_bajar = ESPERA_DESCENDER

            # Descender la pieza automáticamente

        if tetris.terminado(juego):
            pieza, superficie, puntuacion = juego
            gamelib.draw_text("PERDISTE", 175, 80, size=40)
            nombre = gamelib.input("ingrese su nombre")
            listapuntuaciones = procesarpuntuaciones("puntuaciones.txt")
            listapuntuaciones.append((nombre, int(puntuacion)))
            lista = ordenarseleccionpuntuaciones(listapuntuaciones)
            lista.reverse(
            )  #la damos vuelta porque esta ordenada de menor a mayor y queremos que el archivo empieze leyendo de mayor a menor

            if len(lista) > 10:
                lista = lista[:10]

            subirpuntuaciones("puntuaciones.txt", lista)

            break

        mostrar_juego(juego)
        dibujar_siguiente(pieza_i)
Example #7
0
def draw_line(x1, y1, x2, y2, **options):

    #Lineas Horizontales
    gamelib.draw_line(0, 300, 300, 300, fill='blue', width=2)
    gamelib.draw_line(0, 270, 300, 270, fill='blue', width=2)
    gamelib.draw_line(0, 240, 300, 240, fill='blue', width=2)
    gamelib.draw_line(0, 210, 300, 210, fill='blue', width=2)
    gamelib.draw_line(0, 180, 300, 180, fill='blue', width=2)
    gamelib.draw_line(0, 150, 300, 150, fill='blue', width=2)
    gamelib.draw_line(0, 120, 300, 120, fill='blue', width=2)
    gamelib.draw_line(0, 90, 300, 90, fill='blue', width=2)
    gamelib.draw_line(0, 60, 300, 60, fill='blue', width=2)
    gamelib.draw_line(0, 30, 300, 30, fill='blue', width=2)
    gamelib.draw_line(0, 0, 300, 0, fill='blue', width=2)

    #Lineas verticales
    gamelib.draw_line(300, 0, 300, 300, fill='red', width=2)
    gamelib.draw_line(270, 0, 270, 300, fill='red', width=2)
    gamelib.draw_line(240, 0, 240, 300, fill='red', width=2)
    gamelib.draw_line(210, 0, 210, 300, fill='red', width=2)
    gamelib.draw_line(180, 0, 180, 300, fill='red', width=2)
    gamelib.draw_line(150, 0, 150, 300, fill='red', width=2)
    gamelib.draw_line(120, 0, 120, 300, fill='red', width=2)
    gamelib.draw_line(90, 0, 90, 300, fill='red', width=2)
    gamelib.draw_line(60, 0, 60, 300, fill='red', width=2)
    gamelib.draw_line(30, 0, 30, 300, fill='red', width=2)
    gamelib.draw_line(0, 0, 0, 300, fill='red', width=2)
def dibujar_tablero():
    '''La funcion dibuja las lineas'''
    for x in range(0, ANCHO, PIXEL):
        gamelib.draw_line(x, ALTO[0], x, ALTO[1])
    for y in range(ALTO[0], ALTO[1], PIXEL):
        gamelib.draw_line(0, y, ANCHO, y)