purebasic.info

PureBasic forum
Текущее время: Сб сен 22, 2018 2:48 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Non Repeating Random
СообщениеДобавлено: Ср фев 21, 2018 4:15 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2285
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Пример реализации неповторяющегося random'а через список с его перемешиванием.
Код:
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
EnableExplicit
 
#minimum = 1
#maximum = 3
 
Global NewList rnd_list.i()
 
Define i_counter.i
For i_counter = #minimum To #maximum
  AddElement(rnd_list())
  rnd_list() = i_counter
Next
RandomizeList(rnd_list())
ResetList(rnd_list())
 
Procedure.i rnd_call()
  Static current_call.i
  current_call + 1
  If current_call = ListSize(rnd_list()) + 1
    current_call = 1
    RandomizeList(rnd_list())
    ResetList(rnd_list())
  EndIf
  NextElement(rnd_list())
  ProcedureReturn rnd_list()
EndProcedure
 
For i_counter = 1 To 100
  Debug rnd_call()
Next


_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Non Repeating Random
СообщениеДобавлено: Чт фев 22, 2018 5:26 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 669
Благодарил (а): 75 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
сейчас нет возможности сравнивать, днём посмотрю
тут вариант на картах, и есть ссылки на варианты с массивами
http://www.purebasic.info/phpBB3ex/view ... 793#p88138


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB