Создаем список, который хранит в себе все координаты для предметов в определенной части магазина. Далее для каждого предмета мы запускаем бесконечный цикл. В нем мы случайно выбираем координату для него. Если этой координаты НЕТ в списке существующих
А не проще хранить список пустых клеток? Если клетка заполнилась, то эта ячейка с координатами удаляется. Тогда не придется запускать бесконечные циклы, а только один цикл на количество предметов.
# заполняем массив координатами: Coord = 0 For i in range(room_array.len): Room_array[i] = coord Coord +=1
#Размещаем предметы For i in range(items_amount): Rand_array_element = random(0, room_array.len) Coord = room_array[rand_array_element] Put(item, coord) Delete(room_array[rand_array_element])
Как-то так.
Предмет если подбирается, то координата возвращается в массив.
Проще. Сначала генерируем n штук уникальных координат , после яего массив с коорлинатами по порядку отдаем предметам. Это стнадартная задача по работе с массиве которую человек видит сразу после темы про массивы. Учебнач задача по принципу вроде - закинуть на шахматное поле фигуры с случайном порядке.
Для начала - в цикле (For i in range(items_amount):) не меняется значение переменной Coord, а это одна из главных идей ее алгоритма Вернее, у тебя непонятно в псевдокоде, куда именно помещаются предметы случайные - видно, что ты выбираешь случайный предмет, но расположение - неслучайное, т.е. предметы будут лежать подряд.
Создаем список, который хранит в себе все координаты для предметов в определенной части магазина. Далее для каждого предмета мы запускаем бесконечный цикл. В нем мы случайно выбираем координату для него. Если этой координаты НЕТ в списке существующих
А не проще хранить список пустых клеток? Если клетка заполнилась, то эта ячейка с координатами удаляется. Тогда не придется запускать бесконечные циклы, а только один цикл на количество предметов.
# заполняем массив координатами:
Coord = 0
For i in range(room_array.len):
Room_array[i] = coord
Coord +=1
#Размещаем предметы
For i in range(items_amount):
Rand_array_element = random(0, room_array.len)
Coord = room_array[rand_array_element]
Put(item, coord)
Delete(room_array[rand_array_element])
Как-то так.
Предмет если подбирается, то координата возвращается в массив.
Проще. Сначала генерируем n штук уникальных координат , после яего массив с коорлинатами по порядку отдаем предметам. Это стнадартная задача по работе с массиве которую человек видит сразу после темы про массивы. Учебнач задача по принципу вроде - закинуть на шахматное поле фигуры с случайном порядке.
Для начала - в цикле (For i in range(items_amount):) не меняется значение переменной Coord, а это одна из главных идей ее алгоритма
Вернее, у тебя непонятно в псевдокоде, куда именно помещаются предметы случайные - видно, что ты выбираешь случайный предмет, но расположение - неслучайное, т.е. предметы будут лежать подряд.