- Регистрация
- 20 Июл 2023
- Сообщения
- 6
У меня есть идея, как это реализовать через массив.
Предоставляю псевдокод:
Вход игрока:
Присоединение к выборке:
Выбор случайного игрока из массива:
Событие выхода игрока:
Повторяюсь, это псевдокод, поэтому я не расписывал каждое действие подробно и возможны некоторые недочёты
Предполагаемая работа кода на примере:
Напишите, возможно ли это на мл, и где я мог допустить ошибки
ВСЕ ВАШИ ИДЕИ ИЛИ ДОРАБОТКИ С ЗАМЕЧАНИЯМИ ЖДУ НИЖЕ!
Предоставляю псевдокод:
Вход игрока:
# %player%Id = 0
Присоединение к выборке:
Код:
# если flag != 1
# Добавить каждого игрока в конец массива (кто присоединяется к игре)
# %player%Id присвоить номер, под которым он вошёл в игру (или же кол-во присоединившихся игроков, включая его)
# Если кол-во присоединившихся игроков = 2
# flag = 1
# arrSize = размер массива
# Функция выбора случайного игрока из массива (функция ниже) (не обязательно сразу вызывать, предполагается отсчёт до начала выбора)
Выбор случайного игрока из массива:
Код:
# Если arrSize = 1
# Выбрать случайный элемент X в массиве до 1 до arrSize (переменная длины массива)
# Присвоить элементу массива X элемент массива arrSize
# игроку, который был на элементе arrSize, а теперь на X, присвоить его личной переменной %selected%Id = X
# Уменьшить arrSize на 1
# Иначе
# Выбрать 1ый элемент массива
# Очистить массив
# Всем игрокам присвоить %selected%Id = 0
# flag = 0
Событие выхода игрока:
Код:
# если %player%Id > 0
# если arrSize = 1
# очисть массив
# flag = 0
# Иначе
# элементу массива %player%Id присвоить элемент массива arrSize
# игроку, который был на элементе массива arrSize, в теперь на новом (айди вышедшего игрока), присвоить %selected%Id = (айди вышедшего игрока)
# arrSize уменьшить на 1
Повторяюсь, это псевдокод, поэтому я не расписывал каждое действие подробно и возможны некоторые недочёты
Предполагаемая работа кода на примере:
Код:
["Steve", "Alex", "Notch", "Herobrine"]
arrSize = 4
X = 2 (случайное от 1 до 4)
Выбран: Alex
["Steve", "Herobrine", "Notch", "Herobrine"]
arrSize = 3
X = 3 (случайное от 1 до 3)
Выбран: Notch
["Steve", "Herobrine", "Notch", "Herobrine"]
arrSize = 2
X = 1 (случайное от 1 до 2)
Выбран: Steve
["Herobrine", "Herobrine", "Notch", "Herobrine"]
arrSize = 1
X = 1 (т.к. arrSize = 1)
Выбран: Herobrine
Напишите, возможно ли это на мл, и где я мог допустить ошибки
ВСЕ ВАШИ ИДЕИ ИЛИ ДОРАБОТКИ С ЗАМЕЧАНИЯМИ ЖДУ НИЖЕ!
Последнее редактирование: