Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3

Tic tac toe

13.11.2019, 17:21. Показов 2945. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые комрады!
Можете помочь найти промах в коде, чтобы при победе игрока выводился следующий текст "Игрок (name_player_1) или (name_player_2) победил!" в зависимости от результата игры, а не просто Игрок 1 или 2 победил!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
print ("Пожалуйста, введите имя первого игрока")
name_player_1=input ()
print ("Пожалуйства, введите имя второго игрока")
name_player_2=input ()
 
choices = []
checking_progress = []
 
for x in range (0, 9) :
    choices.append(str(x + 1))
 
player_one_turn = True
winner = False
 
def print_board() :
    print( '\n .....')
    print( ':' + choices[0] + ':' + choices[1] + ':' + choices[2] + ':')
    print( ' .....')
    print( ':' + choices[3] + ':' + choices[4] + ':' + choices[5] + ':')
    print( ' .....')
    print( ':' + choices[6] + ':' + choices[7] + ':' + choices[8] + ':')
    print( ' .....\n')
 
while not winner :
    print_board()
    
    if (len(checking_progress) == 9 and winner == False):
      print ("Ничья, победила дружба8)")
      break
 
    if player_one_turn :
        print( "Игрок 1:"+ name_player_1)
    else :
        print( "Игрок 2:"+ name_player_2)
 
    try:
        choice = int(input(">> "))
        checking_progress.append(choice)
    except:
        print("Пожалуйста, введите допустимое значение")
        continue
    if choices[choice - 1] == 'X' or choices [choice-1] == 'O':
        print("Ячейка уже занята, пожалуйста, повторите ход")
        continue
 
    if player_one_turn :
        choices[choice - 1] = 'X'
    else :
        choices[choice - 1] = 'O'
 
    player_one_turn = not player_one_turn
 
    for x in range (0, 3) :
        y = x * 3
        if (choices[y] == choices[(y + 1)] and choices[y] == choices[(y + 2)]) :
            winner = True
            print_board()
        if (choices[x] == choices[(x + 3)] and choices[x] == choices[(x + 6)]) :
            winner = True
            print_board()
           
   
 
if winner == True:
  print ("Игрок " + str(int(player_one_turn +1)) + " победил!\n")
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2019, 17:21
Ответы с готовыми решениями:

Tic-Tac-Toe
Привет! Подскажите пожалуйста, в чем моя ошибка и как ее исправить? Мне нужно определить метод воспроизведения, который будет принимать...

Tic Tac Toe дополнения
# Tic Tac Toe # 1 Блок # Инициализация доски и ее заполнение от 0 до 8 # Объявить переменные: длина доски, флаг победителя, текущий...

Tic-Tac-Toe
в задании сказано сделать игру с применением MVC и AI сделать как класс singleton подскажите пожалуйста, как в java делаются классы MVC? ...

5
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
13.11.2019, 17:29
Problems_, так в чём именно проблема?
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3
13.11.2019, 17:34  [ТС]
Необходимо в зависимости от победы игрока 1 или 2 выводился следующий текст: ("Игрок (name_player_1==введенное ранее значение пользователем) победил!, а сейчас только Игрок 1 или 2 победил без имени пользователя.
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
13.11.2019, 17:36
Problems_, код в теги оберните, нет желания даже читать...
0
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
13.11.2019, 17:37
Лучший ответ Сообщение было отмечено Problems_ как решение

Решение

Problems_, так попробуй
print ("Игрок " ,player_one_turn, " победил!\n")
сам вижу что фигня DDDDDDDDDD

Python
1
2
3
4
5
6
7
8
9
10
11
for x in range (0, 3) :
y = x * 3
if (choices[y] == choices[(y + 1)] and choices[y] == choices[(y + 2)]) :
winner = Name1player #строка как истина
print_board()
if (choices[x] == choices[(x + 3)] and choices[x] == choices[(x + 6)]) :
winner = Name2player
print_board()
 
print ('траляляэ',winner)
quit()
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3
13.11.2019, 18:01  [ТС]
Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2019, 18:01
Помогаю со студенческими работами здесь

tic tac toe 5x5
Как сделать чтобы компьютер не рандомно ходил #include <stdio.h> #include <stdlib.h> char matrix; char...

MiniMax Tic tac toe 10x10
Изучаю минимакс алгоритм и пытаюсь понять следующее. В поле 10х10 мало 3 оценок (-10 выйграл противник, 0 ничья, +10 выйграл игрок), ведь...

Tic Tac Toe (Крестики-нолики)
Ребятки! Помогите с заданием! Я не совсем понимаю, что вообще нужно сделать. Насколько я понял не нужно писать ии, а нужно сделать так,...

Tic tac toe, принятие решения
Совсем недавно начал изучение ИНН, и на примере игры в X0, встал вопрос. Как нейронная сеть должна принимать решение о ходе? Должна ли...

Tic-tac-toe на С++ (крестики нолики)
Доброго времени суток уважаемые коллеги - программисты. Я начинающий программист. В С++ только недавно. Можно сказать, что это приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru