Include single board values and show this on the screen without having to repeat boards

Asked

Viewed 71 times

-1

How do I print a coordinate without printing multiple trays with the values I typed on the board?

tabuleiro = [[0 for x in range(0, 10)] for o in range(0, 10)]
print('------------------')
print('   a | b | c |')
print('0 ', tabuleiro[0][0], '|', tabuleiro[0][1], '|', tabuleiro[0][2], '|')
print('1 ', tabuleiro[1][0], '|', tabuleiro[1][1], '|', tabuleiro[1][2], '|')
print('2 ', tabuleiro[2][0], '|', tabuleiro[2][1], '|', tabuleiro[2][2], '|')
print('------------------')
while True:
    coor = input('Informe sua coordenada: ')
    if coor == 'a0':
        tabuleiro[0][0] = coor
    elif coor == 'b0':
        tabuleiro[0][1] = coor
    elif coor == 'c0':
        tabuleiro[0][2] = coor
    elif coor == 'a1':
        tabuleiro[1][0] = coor
    elif coor == 'b1':
        tabuleiro[1][1] = coor
    elif coor == 'c1':
        tabuleiro[1][2] = coor
    elif coor == 'a2':
        tabuleiro[2][0] = coor
    elif coor == 'b2':
        tabuleiro[2][1] = coor
    elif coor == 'c2':
        tabuleiro[2][2] = coor
    print('------------------')
    print('   a | b | c |')
    print('0 ', tabuleiro[0][0], '|', tabuleiro[0][1], '|', tabuleiro[0][2], '|')
    print('1 ', tabuleiro[1][0], '|', tabuleiro[1][1], '|', tabuleiro[1][2], '|')
    print('2 ', tabuleiro[2][0], '|', tabuleiro[2][1], '|', tabuleiro[2][2], '|')
    print('------------------')
    
    COMO ESTÁ SENDO IMPRIMIDO!

inserir a descrição da imagem aqui

2 answers

2

Oops, I remade a few things here, take a look there.

On your question, you must import the system method of lib os, and send as argument the command cls that is the command to clean the prompt in Windows, this method will execute at the prompt what you pass to it.

from os import system  #Importa método system
from re import sub #Pega somente caracteres específicos 

def tabuleiro(x = None, y = None):  #Imprime tabuleiro
    tabuleiro = [[0 for x in range(0, 3)] for o in range(0, 3)]  #Gera novo tabuleiro
    system("cls") # Informa comando para prompt que limpa o mesmo

    if x != None:  #Verifica se houve movimento
        tabuleiro[x][y] = "X"  #Atribui X a matriz

    print('------------------')
    print('   0 | 1 | 2 |')
    print('0 ', tabuleiro[0][0], '|', tabuleiro[0][1], '|', tabuleiro[0][2], '|')
    print('1 ', tabuleiro[1][0], '|', tabuleiro[1][1], '|', tabuleiro[1][2], '|')
    print('2 ', tabuleiro[2][0], '|', tabuleiro[2][1], '|', tabuleiro[2][2], '|')
    print('------------------')

tabuleiro()  #Imprime tabuleiro
while True:
    coor = sub('[^0-9]', "", input("Informe sua coordenada (Linha/Coluna): "))  #Pega somente números 

    if not coor: #verifica se a variavel está vazia
        print("Preciso de um valor!")
        continue

    coorX = int(coor[0])  #Pega o indice 0 da string
    coorY = int(coor[1])  #pega o indice 1 da string

    if coorX >= 3 or coorY >= 3:  #Verifica se o valor é válido
        print("Opps, não dá pra ir ai")
    else:
        tabuleiro(coorX, coorY) #Atualiza posição

Hug...

-3

Dude, I didn’t really understand what you did. But I think you wanted to clean the screen. So just give the clear or cls

  • I wanted to leave the course flashing at each board position every time I make a move without having to print another board underneath!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.