Untitled

 avatar
unknown
python
2 years ago
2.2 kB
1
Indexable
from random import randrange

board = []
row = 3
column = 3
number = 1

def preper_board():
    # przygotowanie tablicy przy uruchomieniu programu
    global board
    board = [[1 + i + 3*j for i in range(column)]for j in range(row)]
    board[1][1] = "X"

def display_board(board):
# Funkcja, która przyjmuje jeden parametr zawierający bieżący stan tablicy
# i wyświetla go w oknie konsoli.
    for i in range(row):
        for j in range(1):
            print("+" + 3*"-------+")
            print("|" + 3*"       |")
            print("|",board[i][j],"|",board[i][j+1],"|",board[i][j+2],"|", sep="   ")
            print("|" + 3*"       |")
    print("+" + 3*"-------+")    

                
def enter_move(board):
#
# Funkcja, która przyjmuje parametr odzwierciedlający biężący stan tablicy,
# prosi użytkownika o wykonanie ruchu, 
# sprawdza dane wejściowe i aktualizuje tablicę zgodnie z decyzją użytkownika.
#
    move = 0
    lista = []
    lista_numerow = []
    while True: 
        try:
            move = int(input("Wykonaj swój ruch: "))
            lista = make_list_of_free_fields(board)
            lista_numerow = [x[i+1] + 1 + 3*x[i] for x in lista for i in range(1)]
            if move not in lista_numerow:
                raise ValueError
            break
        except ValueError:
            print("Tylko liczby całkowitę dostępne do wyboru")
        except:
            print("Wprowadź liczbę całkowitą")
    # wprowadznie parametru do tablicy
    
    


def make_list_of_free_fields(board):
#
# Funkcja, która przegląda tablicę i tworzy listę wszystkich wolnych pól; 
# lista składa się z krotek, a każda krotka zawiera parę liczb odzwierciedlających rząd i kolumnę.
#
    list_free = [(i, j) for i in range(row) for j in range(column) if board[i][j] != "O" and board[i][j] != "X"]
    return list_free


def victory_for(board, sign):
    pass
#
# Funkcja, która dokonuje analizy stanu tablicy w celu sprawdzenia
# czy użytkownik/gracz stosujący "O" lub "X" wygrał rozgrywkę.
#

def draw_move(board):
    pass
#
# Funkcja, która wykonuje ruch za komputer i aktualizuje tablicę.
#

def main():
    preper_board()
    display_board(board)
    enter_move(board)
    

main()