Оглавление:
Видео: Игра Python Tic Tac Toe: 4 шага
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
игра в крестики-нолики на питоне
эта игра сделана на питоне, это компьютерный язык
Я использовал редактор Python под названием: pycharm, вы также можете использовать обычный редактор кода Python
Шаг 1. Импорт
из tkinter import *
Шаг 2: корень
корень = Tk ()
root.title ("3T TIC TAC TOE") # Заголовок
text = Entry (root, font = ("ds-digital", 15)) text.pack (fill = X, padx = 5, pady = 5, ipadx = 5, ipady = 5) # Текст
доска = ["-", "-", "-", "-", "-", "-", "-", "-", "-"] # Доска
Шаг 3. Функция после помещения в редактор показывает предупреждения. Нажмите Warrnigs и предоставьте Assambel все
# Функции
player = "X" button = stop_game = Ложь stop_game_tie = Ложь
def Turn (): # Печать Turn text.delete (0, END) text.insert (0, "{} 'S TURN".format (player))
def Exit (): root.destroy () exit ()
def Game_Over (): # Проверить, окончена ли игра Check_Winner ()
если stop_game == True: Hplayer () text.delete (0, END) text.insert (0, "'{}' ПОБЕДИТЕЛЬ".format (player))
еще: Check_Tie ()
если stop_game_tie == True: text.delete (0, END) text.insert (0, "TIE MATCH")
def Check_Winner (): # Проверяем, есть ли победитель global stop_game
row_1 = доска [0] == доска [1] == доска [2]! = "-" row_2 = доска [3] == доска [4] == доска [5]! = "-" row_3 = доска [6] == доска [7] == доска [8]! = "-", если строка_1, строка_2 или строка_3: stop_game = True
column_1 = доска [0] == доска [3] == доска [6]! = "-" column_2 = доска [1] == доска [4] == доска [7]! = "-" column_3 = доска [2] == доска [5] == доска [8]! = "-" если столбец_1, столбец_2 или столбец_3: stop_game = True
диагональ_1 = доска [0] == доска [4] == доска [8]! = "-" диагональ_2 = доска [2] == доска [4] == доска [6]! = "-" если диагональ_1 или диагональ_2: stop_game = Верно
def Check_Tie (): # Проверка совпадения совпадений global stop_game_tie
если «-» нет на доске: stop_game_tie = True
def Hplayer (): # Управление глобальным игроком Turn
если player == "X": player = "O"
else: player = "X"
def Add_Text (pos, play): # Глобальная кнопка добавления текста
если позиция не в кнопке и stop_game == False и stop_game_tie == False и pos! = 9: Turn ()
def_buttons [pos].configure (text = play) board [pos] = player
button.append (pos) Hplayer () Turn () Game_Over ()
Шаг 4: Окончательный код. Будет ли последний вид?
# СЕТКА
def New_Match (): # Кнопка New Match Функция global board global player global button global stop_game global stop_game_tie
button_1.configure (text = "") button_2.configure (text = "") button_3.configure (text = "") button_4.configure (text = "") button_5.configure (text = "") button_6.configure (текст = "") button_7.configure (text = "") button_8.configure (text = "") button_9.configure (text = "") board = ["-", "-", "-", "-", "-", "-", "-", "-", "-"] player = "X" button = stop_game = False stop_game_tie = False Turn ()
# Кнопки
Перемена()
frame = Frame (корень) frame.pack (сторона = TOP, привязка = NW)
frame1 = Фрейм (фрейм) frame1.pack ()
button_1 = Button (frame1, text = "", width = 8, height = 3, command = lambda: Add_Text (0, player), bg = 'pink') button_1.pack (side = LEFT)
button_2 = Button (frame1, text = "", width = 8, height = 3, command = lambda: Add_Text (1, player), bg = 'pink') button_2.pack (side = LEFT)
button_3 = Button (frame1, text = "", width = 8, height = 3, command = lambda: Add_Text (2, player), bg = 'pink') button_3.pack (side = LEFT)
frame2 = Фрейм (фрейм) frame2.pack ()
button_4 = Button (frame2, text = "", width = 8, height = 3, command = lambda: Add_Text (3, player), bg = 'blue') button_4.pack (side = LEFT)
button_5 = Button (frame2, text = "", width = 8, height = 3, command = lambda: Add_Text (4, player), bg = 'blue') button_5.pack (side = LEFT)
button_6 = Button (frame2, text = "", width = 8, height = 3, command = lambda: Add_Text (5, player), bg = 'blue') button_6.pack (side = LEFT)
frame3 = Фрейм (фрейм) frame3.pack ()
button_7 = Button (frame3, text = "", width = 8, height = 3, command = lambda: Add_Text (6, player), bg = 'orange') button_7.pack (side = LEFT)
button_8 = Button (frame3, text = "", width = 8, height = 3, command = lambda: Add_Text (7, player), bg = 'orange') button_8.pack (side = LEFT)
button_9 = Кнопка (frame3, text = "", width = 8, height = 3, command = lambda: Add_Text (8, player), bg = 'orange') button_9.pack (side = LEFT)
frame4 = Фрейм (фрейм) frame4.pack ()
button_clear = Button (frame4, text = "NEW MATCH", width = 13, height = 3, command = lambda: New_Match (), bg = 'violet', foreground = 'red') button_clear.pack (side = LEFT)
exit_button = Кнопка (frame4, text = "EXIT", width = 12, height = 3, command = lambda: Exit (), bg = 'green', foreground = 'orange') exit_button.pack (side = LEFT)
def_buttons = [button_1, button_2, button_3, button_4, button_5, button_6, button_7, button_8, button_9]
root.mainloop ()