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()