Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Помогите!!!!!!   Найти похожие ветки 

 
Филипок:)   (2006-07-30 18:46) [0]

Привет всем,я решил написать карточную игру, и у меня возникли проблемы. У меня есть 54 фотографии карт и 54 image и мне нужно что бы в них загружались картинки карт, причем при каждом запуске игры должны появляться разные карты.
P.S. Наверно вопрос дурацкий но я ещё учусь, так что не обежай


 
Ivolg ©   (2006-07-30 19:00) [1]

>Филипок:)

Можно сделать вот так:

Randomize;
Image1.Picture.LoadFromFile("Card"+IntToStr(Random(53))+"bmp");

При этом каждый файл должен быть переименован в Card0...Card53


 
Филипок:)   (2006-07-30 19:02) [2]

Но уменя Image 54 штуки и если использовать этот код со всеми то они могут повторяться!


 
PSPF2003 ©   (2006-07-30 19:05) [3]

Вот автор написал дурака скачивай и учись...
http://www.sekator13.narod.ru/


 
Ivolg ©   (2006-07-30 19:05) [4]

>Филипок:)

Могут конечно...


 
Филипок:)   (2006-07-30 19:12) [5]

А как сделать что бы они не повторялись?


 
Homo Sapiens ©   (2006-07-30 19:22) [6]


> А как сделать что бы они не повторялись?

Завести флажок и при каждом рандомизе проверять, есть такой image или нет. Если есть, то рандомизить заново


 
Ivolg ©   (2006-07-30 19:25) [7]

Можно попробовать написать комбинацию списка файлов например: Card0;Card50;Card24;Card38; и т.п, а потом их загружать...


 
DprYg ©   (2006-07-30 19:32) [8]


> Randomize;
> Image1.Picture.LoadFromFile("Card"+IntToStr(Random(53))+"bmp");
>

Правильно писать Random(54) 0<=X<54


 
DprYg ©   (2006-07-30 19:35) [9]

А если бы было 10000 карт? Для получения последнего числа  в последовательности придется рандомить приблизительно столько же раз. Время...


 
Ivolg ©   (2006-07-30 19:39) [10]

>DprYg ©

Ну у него же не 10000 карт )


 
Homo Sapiens ©   (2006-07-30 19:41) [11]

А можно ещё сначала просто зарузить по порядку, а уже загруженные
распологать случайно...


 
DprYg ©   (2006-07-30 19:46) [12]

А если попробовать после генерации какого-то числа удалять его из массива и рандомить опять и т.д.?


 
DprYg ©   (2006-07-30 19:48) [13]

То есть генерируем индекс массива random(n-1). Загружаем карту с этим индексом. Удаляем этот элемент. Снова генерим индекс random(n-2)...


 
Virgo_Style ©   (2006-07-30 19:50) [14]

помню, кто-то советовал такой метод:
массив A[1..N] заполняется A[i] = i; затем некоторое достаточно большое число раз два случайно выбранных элемента меняются местами.
Получаем массив случайно расположенных неповторяющихся чисел 1,2..N


 
DprYg ©   (2006-07-30 19:52) [15]

Да, метод неплохой. Только как определить для какого-то N это достаточно большое число?


 
default ©   (2006-07-30 20:07) [16]

Virgo_Style ©   (30.07.06 19:50) [14]
по-моему я:)
только несколько иначе
берём первый элемент и переставляем его с элементом Random(54)+1
потом второй элемент и переставляем его с элементом Random(54)+1
и тд
вроде раньше доказывал, что выборки будут равновероятны
щас этим заниматься лень
можно просто протестировать, без теории



Страницы: 1 вся ветка

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1152192172
Oleon
2006-07-06 17:22
2006.08.20
Какое событие возникает при создании MDIChild?


5-1137874955
Mih@s
2006-01-21 23:22
2006.08.20
TValueListEditor


2-1153677809
userrrrr
2006-07-23 22:03
2006.08.20
Подключение к сети


1-1152435012
17Landgraf
2006-07-09 12:50
2006.08.20
Как узнать, что файл полностью загрузился?


2-1154013757
AHoja
2006-07-27 19:22
2006.08.20
замена символов в файле пропуском





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский