|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2010, 12:59 | #1 |
Новичок
Джуниор
Регистрация: 17.09.2007
Сообщений: 2
|
Delphi. random, случайные числа без повторений
Здравствуйте!
имеется необходимость написать карточную игру, проблема в следующем: допустим есть колода 36 карт, достоинства и масти хранятся в разных массивах вроде так: var d:array[6..14] of integer; //достоинства карт(6-шестерка, 11-валет, 12-дама и т.д) m:array[1..4] of integer; //масти карт(1-бубны, 2-червы и т.д) либо так: var d:array[1..36] of integer; //все карты колоды(1 - 6пик, 2 - 7пик, 3 - 8пик, и т.д. по всем мастям) как можно раздать карты допустим в 36 image'ей случайным образом, чтобы карты не повторялись? Последний раз редактировалось MerCY; 01.02.2010 в 13:05. |
01.02.2010, 13:44 | #2 |
Форумчанин
Регистрация: 19.09.2009
Сообщений: 166
|
подобное обсуждалось здесь - http://programmersforum.ru/showthread.php?t=83020
|
01.02.2010, 14:02 | #3 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Код:
Дальше уже извлекайте из mas_card линейным методом.
И не сомневайся даже ... отдых - кайф, работа - лажа!
Последний раз редактировалось DeKot; 01.02.2010 в 16:41. Причина: random д.б. (36) , от 0 до 35 (всего 36 значений) |
01.02.2010, 14:13 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
еще одна тема
http://programmersforum.ru/showthrea...599#post379599
программа — запись алгоритма на языке понятном транслятору
|
01.02.2010, 15:09 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
кстати, я бы всё таки завёл тип Карта (Card) - с мастью и значением
и хранил бы массив не абстрактных значений, а именно массив карт! примерно так: Код:
Последний раз редактировалось Serge_Bliznykov; 01.02.2010 в 15:19. |
01.02.2010, 15:18 | #6 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
гляньте, сколько уже похожих тем снизу.
pushl $0x18E3DF6B
call ICQ |
01.02.2010, 15:47 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
russian-stalker, да по поводу сортировку уважаемые коллеги evg_m и Deamonig уже дали ссылочки.
Кстати, если кратенько передать алгоритм, то самый простой способ - заполнить массив, а потом сделать так, как делается в реальности - менять карты случайным образом в пределах массива. (для этого в цикле просто получать брать очередную карту, брать случайное число в нужном диапазоне (в данном случае от 1 до 36) и менять эти две карты. Если это повторить несколько раз, всё перемешается напрочь! Код:
|
01.02.2010, 16:45 | #8 | |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
От Serge_Bliznykov :
Цитата:
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
10.05.2010, 15:19 | #9 | |
Регистрация: 07.05.2010
Сообщений: 5
|
Цитата:
Код:
В общем спасибо, топик помог, тем более что записи мои из базы на самом деле берутся Последний раз редактировалось Treshmazai; 10.05.2010 в 16:01. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Случайные числа | Toa | Microsoft Office Excel | 6 | 30.11.2013 18:45 |
Случайные числа | severin | Помощь студентам | 8 | 02.02.2010 17:35 |
Random вывод нескольких чисел без повторений | leonw | Общие вопросы Delphi | 4 | 05.09.2009 13:15 |
Массив без повторений | Uzenec | Помощь студентам | 2 | 17.01.2008 08:23 |
Delphi - Случайные числа | Albenous | Помощь студентам | 2 | 28.12.2007 22:34 |