Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Hola gente 👋, acá Carlos Padilla se reporta, hoy quiero presentar como proyecto final de este curso un generador de tableros para Tick-tack-toe, Ajedrez o Damas Chinas. Intente utilizar todo lo aprendido en este curso, cabe recalcar que uso algunas cosas aun no aprendidas si eres un iniciante en python como el método denominado “.join” y list comprehension. Si deseas usarlo sigue los siguientes pasos:

  1. Paso 1
    Primero que todo declara la siguiente función que generara una tabla llena de números consecutivos (solo es un ejemplo, se puede editar). Usa list comprehension y admite un argumento de tipo entero, que es en si el numero de tanto columnas como filas.
#Python
def matrix_generator_nXn(n):
  return [[j for j in range((i - 1) * n + 1, (i) * n + 1)] for i in range(1, n + 1)]

  1. Paso 2
    Ahora usando la función recientemente declarada, asignale un valor a tu nueva variable board, esta sera tu tabla del tablero, que podrás modificar en caso de que por ejemplo un jugador haga un movimiento. En este caso tanto la tabla como su display seran 3*3:
board = matrix_generator_nXn(3)
  1. Paso 3
    Como penultimo paso, define esta otra función que generará el display de la tabla recientemente hecha; aclaro generara el display en consola. Admite un argumento de tipo lista (una tabla) y genera el display a partir de bucles for:
def display_board(matrix):
  board_display = "" #Esta variable almacenara al display del board
  cant_rows = len(matrix)
  x1 = "+---------" * cant_rows + "+"
  x2 = "|         " * cant_rows + "|"
  for row in matrix:
    x3 = "".join(["|    " + str(element) + "    " for element in row]) + "|" # Aquí van los elementos internos de la tabla
    if matrix.index(row) == 0:
      board_display += (x1+"\n"+x2+"\n"+x3+"\n"+x2+"\n"+x1+"\n") #Esta seria la fila inicial
    elif matrix.index(row) == (cant_rows - 1):
      board_display += (x2+"\n"+x3+"\n"+x2+"\n"+x1) # Y esta la fila final
    else:
      board_display += (x2+"\n"+x3+"\n"+x2+"\n"+x1+"\n")
  print(board_display)
  1. Paso Final
    Por ultimo, llama a la función recientemente declarada y pasa como argumento la tabla (board) generada en el paso 2; esta imprimira una especie de tablero:
display_board(board)

#Ejemplo:
 #   En el caso 3*3:
#    +---------+---------+---------+
#    |         |         |         |
#    |    1    |    2    |    3    |
 #   |         |         |         |
#    +---------+---------+---------+
#    |         |         |         |
#    |    4    |    5    |    6    |
 #   |         |         |         |
 #   +---------+---------+---------+
 #   |         |         |         |
 #   |    7    |    8    |    9    |
 #   |         |         |         |
 #   +---------+---------+---------+


Listo, espero que te haya encantado o que te haya sido de utilidad, eso es todo, chao 👋.

Curso de Fundamentos de Python

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados