Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.03.2009, 08:00   #1
newd
Участник клуба
Пользователь
 
Аватар для newd
 
Регистрация: 21.01.2008
Сообщений: 20
По умолчанию Перетасовка колоды карт

Всем здравствуйте! Я в программировании ещё новичок, поэтому извините за глупые вопросы.
Вопрос такой, как перетасовать колоду карт. Искал долго, но в среде Delphi ничего не нашел.
Моя среда Borland Delphi 7. Спасибо.
Чем глубже пропасть в которую падаешь, тем больше шансов научиться летать.
newd вне форума
Старый 02.03.2009, 08:12   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Попробуйте вот этот компонент. В данном наборе есть невизуальный компонент TColoda который отвечает за перетасовку карт. Есть пример использования
Вложения
Тип файла: zip cards22.zip (329.3 Кб, 38 просмотров)
SERG1980 вне форума
Старый 02.03.2009, 09:01   #3
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Здесь глянь http://programmersforum.ru/showthread.php?t=38802

Этот алгоритм я использовал именно для этих целей
Баламут вне форума
Старый 02.03.2009, 21:47   #4
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

можно еще как в жизни делают ^_^ ...
пусть дан массив 0..n, тогда пусть i:=random(n-1), выделим 2-а подмножества 0..i и i+1..n, тогда получим новый массив (i+1..n, 0..i)
ну типо вот одно перемешивание происходящее в реальной жизни.
Помог? Ну так нажми на весы!
SNUPY вне форума
Старый 04.03.2009, 02:12   #5
newd
Участник клуба
Пользователь
 
Аватар для newd
 
Регистрация: 21.01.2008
Сообщений: 20
По умолчанию

Всем спасибо. Ваши ответы помогли. Буду дерзать, но думаю, что вопросов еще будет много, особенно по алгоритму. Вообще у меня задумка сделать карточную игру покер как описано на
http://www.durbetsel.ru/2_poker_bez_nazvaniya1.htm
Хотел скачать, но не нашел. По всей видимости, такого типа покера еще нет.
Чем глубже пропасть в которую падаешь, тем больше шансов научиться летать.

Последний раз редактировалось newd; 04.03.2009 в 02:25.
newd вне форума
Старый 04.03.2009, 09:44   #6
santeysis
Новичок
Джуниор
 
Регистрация: 04.03.2009
Сообщений: 1
По умолчанию

На самом деле простейший механизм тасовки карт сделать очень просто.

Вот мой механизм тасования карт в одной из первых версий "Карточной игры в дурака".
Правда это на С++, но можно все перевести в дельфи.

void TPack::Shuffle()
{
TCard card;
for(int i=0,j=9;i<600;j=random(52),i++)
{
card=Cards[51];
Cards[51]=Cards[j];
Cards[j]=card;
}
}
Автор "Карточной игры в дурака"

Последний раз редактировалось mihali4; 04.03.2009 в 09:56. Причина: Реклама
santeysis вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание карт для Counter-Strike SalasAndriy Фриланс 4 02.05.2009 02:21
Direct3D: создание карт и ландшафтов challengerr Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 02.05.2009 02:15
Изменение функций редактора карт Far Cry 2 Владислав1967 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 25.11.2008 17:06
Привязка Google Карт Xander Фриланс 4 13.02.2008 13:21