Вопрос задан 07.06.2023 в 19:15. Предмет Информатика. Спрашивает Инкина Влада.

Код для гри в хрестики нолики пайтон​

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Немков Даниил.

Код:

import tkinter as tk

from tkinter import messagebox

class TicTacToe:

   def __init__(self, master):

       self.master = master

       self.master.title("Крестики Нолики")

       self.master.resizable(False, False)

       self.player = "X"

       self.board = [["" for i in range(3)] for j in range(3)]

       self.buttons = [[tk.Button(self.master, width=8, height=4, font=("Helvetica", 20), command=lambda row=row, col=col: self.mark(row, col)) for col in range(3)] for row in range(3)]

       for row in range(3):

           for col in range(3):

               self.buttons[row][col].grid(row=row, column=col)

               

   def mark(self, row, col):

       if self.board[row][col] == "":

           self.board[row][col] = self.player

           self.buttons[row][col].configure(text=self.player)

           if self.is_winner():

               messagebox.showinfo("Крестики Нолики", f"{self.player} победили!")

               self.reset()

           elif self.is_tie():

               messagebox.showinfo("Tic Tac Toe", "It's a tie!")

               self.reset()

           else:

               self.player = "O" if self.player == "X" else "X"

               

   def is_winner(self):

       for i in range(3):

           if self.board[i][0] == self.board[i][1] == self.board[i][2] != "":

               return True

           if self.board[0][i] == self.board[1][i] == self.board[2][i] != "":

               return True

       if self.board[0][0] == self.board[1][1] == self.board[2][2] != "":

           return True

       if self.board[0][2] == self.board[1][1] == self.board[2][0] != "":

           return True

       return False

   

   def is_tie(self):

       for row in self.board:

           for cell in row:

               if cell == "":

                   return False

       return True

   

   def reset(self):

       self.player = "X"

       self.board = [["" for i in range(3)] for j in range(3)]

       for row in range(3):

           for col in range(3):

               self.buttons[row][col].configure(text="")

   

if __name__ == "__main__":

   root = tk.Tk()

   TicTacToe(root)

   root.mainloop()

0 0
Отвечает Кравец Максим.

Ответ:

draw_board()

take_input()

chek_win

main()

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ось приклад простого коду для гри в хрестики-нолики на мові Python:

python
# Ініціалізація дошки board = [' ' for _ in range(9)] # Функція для виводу дошки def print_board(): print('---------') print('|', board[0], '|', board[1], '|', board[2], '|') print('---------') print('|', board[3], '|', board[4], '|', board[5], '|') print('---------') print('|', board[6], '|', board[7], '|', board[8], '|') print('---------') # Функція для перевірки перемоги def check_win(player): win_conditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], # Рядки [0, 3, 6], [1, 4, 7], [2, 5, 8], # Стовпці [0, 4, 8], [2, 4, 6] # Діагоналі ] for condition in win_conditions: if all(board[i] == player for i in condition): return True return False # Головний цикл гри def play_game(): current_player = 'X' while True: print_board() position = int(input("Виберіть позицію (1-9): ")) - 1 if board[position] == ' ': board[position] = current_player if check_win(current_player): print_board() print("Гравець", current_player, "переміг!") break elif ' ' not in board: print_board() print("Гра закінчилася внічию!") break else: current_player = 'O' if current_player == 'X' else 'X' else: print("Неправильний хід. Спробуйте ще раз.") # Запуск гри play_game()

Цей код створює гру в хрестики-нолики для двох гравців. Гравці по черзі вводять номер позиції (1-9), в яку вони хочуть поставити свій символ (X або O) на дошці. Гра продовжується до перемоги одного з гравців або вичерпання всіх ходів (нічия).

Будь ласка, зауважте, що це лише простий приклад, і код можна розширити або вдосконалити, наприклад, додати перевірку на правильність введення або створити ігровий інтерфейс.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос