АлексейЦифры
11.05.2023 05:26

Створіть гру «Хрестики-нолики». Алгоритм роботи:

1. Відкрийте середовище програмуванн IDLE. Створіть новий файл.
2. Імпортуйте модуль random.
3. Створіть функцію для відображення ігрового поля, для цього створіть
змінну із списком з 10 рядків, в ньому рядок з індексом 1 відповідає
клітинці 1 ігрового поля. Рядок з індексом нуль ігнорується.
4. Створіть функцію, що буде надавати гравцю право вибору літери Х чи
О.
5. Створіть функцію, що що буде використовувати randint(), для
випадковго вибору того хто буде ходити першим.
6. Створіть функцію для розміщення міток на ігровому полі. Тут
використайте посилання на спискі:
def makeMove(board, letter, move):
board[move] = letter
7. Створіть функцію, для перевірки чи не виграв гравець, по суті це буде
довга інструкція return.
8. Створіть функцію для дублювання даних з ігрового поля.
9. Створіть фукнцію для виявлення можливості ходя відповідно до
ситуації на ігровому полі.
10. Створіть функцію, яка дозволить запропонувати гравцю ввести номер
клітинки, в яку він хоче зробити наступний хід.
11. Створіть функцію вибора ходу зі списку для комп’ютера.
12. Створіть функцію, що надасть можливість комп’ютеру виявляти якою
літерою грає гравець, і відповідну іншу літеру займає комп’ютер і
зберігає її у змінній.
13. Створіть перевірку чи зможе комп’ютер перемогти зробивши
наступний крок. Використайте цикл for, та розгалуження.
14. Створіть перевірку чи зможе гравець виграти, якщо зробе наступний
крок.
15. Створюємо перевірку чи зайняті кутові, центральна та бокові клітинки
(в порябку черги)
16. Створіть функцію для перевірки чи заповнене поле.
17. Створіть ігровий цикл.
a. Створіть рядок привітання
b. Створіть цикл while, який буде виконуватись доти доки
управління не буде передано інструкції break

c. Гравець вибирає літеру, якою він буде грати
d. Відповідна функція випадковим чином обирає того, хто буде
виконувати перший крок
e. Створіть цикл, який буде «кидатися» між кодом ходу гравця і
кодом ходу комп'ютера до тих пір, поки відповідній змінній не
буде присвоєне значення True.
f. Запропонуйте гравцю зіграти знову.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
женьшенье
01.03.2022 05:42
Program Task;
Const N = 5;
Var a: Array [1..N] of LongInt;
    i: Integer;
Function MinDigit(number: LongInt): Integer;
Var digits: Array of Integer;
    num, min, i: Integer;
Begin
    num := number;
While num <> 0 Do
Begin
    num := num Div 10;
    i := i + 1;
End;
    SetLength(digits, i);
    num := number;
For i := 0 To Length(digits) - 1 Do
Begin
    digits[i] := num Mod 10;
    num := num Div 10;End;
For i := 0 To Length(digits) - 1 Do
    If digits[i] < digits[min] Then
    min := i;    Result := digits[min];
End;
Begin
    WriteLn('Введите ', N, ' целых чисел через пробел');
    For i := 1 To N Do
        Read(a[i]);
    For i := 1 To N Do
        Write(MinDigit(a[i]), ' ');
End.
0,0(0 оценок)
Ответ:
krasotka8726
30.10.2022 02:30
Пусть a, b, c − число пассажиров каждой из маршруток. тогда, нужно во-первых: выяснить можно ли поделить пассажиров поровну между тремя маршрутками; во-вторых: если первое утверждение верно, то k : = (a + b + c) div 3; − число пассажиров, которое должно приходиться на 1 маршрутку sum : = 0; − счётчик пересаживаемых пассажиров da : = a - k; if da > 0 then sum : = sum + da; db : = b - k; if db > 0 then sum : = sum + db; dc : = c - k; if dc > 0 then sum : = sum + dc; − если разница числа пассажиров и количества, которое должно быть в маршрутке, число положительное, значит столько пассажиров из данной маршрутки необходимо пересадить. что то типа дальше сама
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота