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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2007, 12:57   #11
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию Можно и так

Хотя на мой взгляд со множествами будет быстрее
Код:
  var
    s:tstrings;
 
    i,z:integer;
    a: array[1..36] of integer;
    procedure TForm1.Button1Click(Sender: TObject);
begin
s:=tstringlist.Create;
    for i:=0 to 35 do
    begin
    s.Add(inttostr(i));
    end;
    randomize;
    for i:=0 to 35 do
    begin
    z:=random(s.Count);
    a[i+1]:=strtoint(s.Strings[z]);
    s.Delete(z);
    end;
    memo1.Lines.Clear;
    for i:=1 to 36 do
    memo1.Lines.Add(inttostr(a[i]));
end;
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 21.10.2009, 21:31   #12
IIaJIauT
Новичок
Джуниор
 
Регистрация: 21.10.2009
Сообщений: 1
По умолчанию

Ребята,у вас тут все на Дельфи видимо,а я его совсем незнаю,мне нужна тоже самая программа,только на Паскале,можете помочь с переводом этих не самых понятных кодов на Паскаль,очень надо.Заранее спасибо!
IIaJIauT вне форума Ответить с цитированием
Старый 21.10.2009, 21:36   #13
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Мне кажется, что надо сделать массив с номерами карт. Потом методом случайных чисел выбирать одну карту из массива (удалять элемент массива, смещая всё после “влево”), потом уменьшаем счётчик карт в колоде для Random, чтоб он не брал не существующие карты. С помощью этого можно избежать повтора карт.
Люди, зачем такое извращение? Я когда делал свое "21" сделал так:
За пределами формы в ряд выставил все карты (можно не в ряд, главное, чтобы To был одинаковый).
Когда карта нам нужна - перекидываем её в видимую область формы, соответственно меняя её координаты (и Top) тоже.
Что происходит, если карта уже была выкинута:
Код:
While Card[N].Top=344 do N:=Random(52)+1;
Card[N].Top:=122;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 02.11.2009, 12:59   #14
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
Восклицание

Цитата:
Сообщение от IIaJIauT Посмотреть сообщение
Ребята,у вас тут все на Дельфи видимо,а я его совсем незнаю,мне нужна тоже самая программа,только на Паскале,можете помочь с переводом этих не самых понятных кодов на Паскаль,очень надо.Заранее спасибо!
как тебе может быть непонятен код на Делфи, если ты знаешь Паскаль?!
Дельфи - прямой потомок Паскаля! код на них очень похож (там где дело не касается графических возможностей Делфи и названий идентификаторов)
-----
хотя, зависит от того, какой паскаль ты юзаешь. есть только один норм Паскаль - Турбо Паскаль 7.0 (и ещё пара современных вроде Free Pascal), но он уже устарел, так что переходи на Делфи!!!!!!!!

Последний раз редактировалось anyx; 02.11.2009 в 13:02.
anyx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
РПГ игра Принц Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 10.06.2008 15:57
Карточная колода при помощи Switch на С++ Amen Общие вопросы C/C++ 1 28.02.2008 08:24
Помогите с игрой в Visual Basic (совершенно любая, карточная, домино, дарц и т.д.) leogirl Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 13.11.2007 19:18
Карточная игра steck Общие вопросы Delphi 3 07.10.2007 17:59
игра S.T.A.L.K.E.R. rpy3uH Свободное общение 7 10.04.2007 00:17