Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Delphi

Ответ
 
Опции темы
Старый 17.09.2010, 23:09   #1
JACUK
Знающий
 
Регистрация: 09.10.2009
Сообщений: 340
Написано 37 полезных сообщений
(для 61 пользователей)
Random без повторений!

Вот например такой кусочек кода
Randomize;
r:=random(9)+1;
как сделать так чтобы когда вызываеш строчку с непосредственным рандомом девят раз(например в цикле), то r ни разу не повторился?!
__________________




(Offline)
 
Ответить с цитированием
Старый 17.09.2010, 23:16   #2
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: Random без повторений!

Делай каждый раз проверку, не равен ли результат какому-либо из уже полученных и, если равен, вызывай ещё раз
(Offline)
 
Ответить с цитированием
Старый 17.09.2010, 23:26   #3
JACUK
Знающий
 
Регистрация: 09.10.2009
Сообщений: 340
Написано 37 полезных сообщений
(для 61 пользователей)
Ответ: Random без повторений!

пробовал! и в масив запихивать и создавать строку, а из нее масив и проверять-нивкакую! напиши если не трудно примерчик!
__________________




(Offline)
 
Ответить с цитированием
Старый 17.09.2010, 23:30   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Random без повторений!

возможно это:
http://forum.boolean.name/showthread.php?t=12687
для числовго массива возвращемых занчений
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 17.09.2010, 23:47   #5
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: Random без повторений!

Сообщение от JACUK Посмотреть сообщение
пробовал! и в масив запихивать и создавать строку, а из нее масив и проверять-нивкакую! напиши если не трудно примерчик!
На дельфи не программирую. Просмотри код, у тебя где-то какая-то ошибка. Может перепутал какое-то название. Вот абстрактно:

var digits:array of integer;
i:integer;
r,t:integer;
variable:boolean;

{...}

For i=1 to i=9 do
begin
Repeat
variable:=false;
r:=random(9)+1;
for t=1 to 9 do if r=digits[t] then varialbe:=true
Until variable=false
digits[i]:=r;
end;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
JACUK (23.10.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:47.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com