![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 04.05.2007
Сообщений: 14
|
![]()
Ну вы в косынку играли? Так вот, косынка - это клондайк в чистом виде, а мой "канкан" - тоже разновидность клондайка.
О правилах: колода в 52 карты, с самого начала в нижней части поля раскладывается на 13 стопок с числом карт 1-2-3-4-5-6-7-6-5-4-3-2-1, в каждой стопке верхняя карта открыта, остальные закрыты. Таким образом, в этих стопках лежат 49 карт, оставшиеся 3 карты кладутся в левом верхнем углу поля на 3 особых места (насколько я понял, эти 3 места можно использовать как резервные, на каждом по 1 карте). Цель - выложить все карты по мастям в восходящем порядке от туза до короля на 4 основы в правом верхнем углу (вспомните косынку), в процессе этого из карт на столбцах можно выстраивать цепи по нисходящей, чередуя красный и черный цвет карт (опять же косынка), на пустое место столбца можно класть только цепь, начинающуюся с короля. Соответственно, что нам может понадобиться: процедура проверки, является ли взятая игроком стопка карт цепью (т.е. идут ли достоинства подряд, чередуется ли цвет), является ли взятая карта королем (при перемещении на пустое место), что еще может понадобиться? |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,107
|
![]()
Ну понадобица еще проверка является карта, по которой ткнули закрытой или открытой
[offtop]ПГУ? Препод Коннова? ![]() Последний раз редактировалось pu4koff; 04.10.2007 в 11:40. |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 12.07.2007
Сообщений: 60
|
![]()
Вот компанент для создания подобных игр. Может пригодиться.
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 04.05.2007
Сообщений: 14
|
![]() |
![]() |
![]() |
![]() |
#15 | |
Регистрация: 04.10.2007
Сообщений: 8
|
![]() Цитата:
Есть несколько (у нас 13) колонок карт. Каждая колонка может быть: пустой, либо верхняя часть закрыта (от нуля и выше карт), а нижняя открыта (в нижней части >= 1 карта). Есть 2 типа специфических позиций: 3 позиции под буфер для одной карты (любой) и финальные позиции, которые накапливают (?а может можно забрать верхнюю?) карты в соответствии с мастями строго по возрастанию достоинства. Можно "захватить" одну из открытых карт и перетащить на другую колонку или специфическую позицию. Если операция удачна, то карта и вся ее нижележащая цепь будет перемещена на новое место. Если при этом верхней оказывается закрытая карта, то она открывается (?это не описано?). Если операция неудачна, то ничего не происходит (или пищит спикер). На пустую колонку можно перетащить любого короля из любой (?а может только из буфера?) спецпозиции или любого открытого короля вместе с его цепью из другой стопки. На непустую колонку можно перенести только в зависимости от значения верхней карты. На туз ничего нельзя положить, на все остальные можно положить только одну (вместе с лежащими выше открытыми) из двух заранее определенных карт (старше на 1 и другого цвета). На спецпозицию-буфер можно перенести (?убедись, что вообще туда можно таскать?) верхнюю из любой стопки или финала (?а может из финала нельзя?) при том, что эта позиция буфера будет пуста. На каждую из финальных позиций мы можем положить только заранее указанную карту, причем только одну (?я предполагаю, что за каждой из позиций закреплена своя масть?), после перемещения эта позиция меняется на новую (+1 к стоимости, масть не меняется). EOS {End of Specification} Могу написать, какие классы надо создать, их интерфейс, какие классы Delphi использовать. Нужно? ...Наперекор всем сомнениям успеха добьется лишь тот, кто способен действовать в любых условиях... Heinz Wilhelm Guderian
Последний раз редактировалось QuAlex; 04.10.2007 в 18:47. |
|
![]() |
![]() |
![]() |
#16 | ||||
Пользователь
Регистрация: 04.05.2007
Сообщений: 14
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
2 Xandr: да, действительно программа стоящая. И хотя у тестовых прог проекты не компилируются, а экзешник у одной работает некорректно, а у второй его вообще нет, но модули действительно заслуживают внимания. Обязательно учту. |
||||
![]() |
![]() |
![]() |
#17 |
Регистрация: 04.10.2007
Сообщений: 8
|
![]()
Вернулся с работы, сделал маленький тестовый проектик на Delphi 5.
Их на самом деле два в проектной группе: один собирает картинки в dll, а второй демонстрирует загрузку картинок и техноголию "хвать-и-плюх" ![]() Ресурсная dll имеет в своем составе только один .rc файл, который вставляет в себя картинки из текущего каталога с именами в кавычках на каждой строке. Картинки взяты из проекта Xandr, я их сделал доступными для свойства Transparent объекта TImage (обвел розовым). Запускаемый проект загружает две картинки из dll. Джокера можно таскать и кидать на туза. При этом в строке статуса появляются интересные сообщения. Я предлагаю загружать картинки так же, и таскать тоже, проверяя в OnDragOver целевой карты возможность переноса, а в OnDragDrop цели осуществлять перенос карт на стопку. ...Наперекор всем сомнениям успеха добьется лишь тот, кто способен действовать в любых условиях... Heinz Wilhelm Guderian
|
![]() |
![]() |
![]() |
#18 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
а не лучше так? (я про графику)
drag_card.rar
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 04.05.2007
Сообщений: 14
|
![]()
-> QuAlex: картинки нифига не грузит. Просто два зеленых прямоугольника, и левый берется и перетаскивается на правый (сообщения в статусной строке появляются). А при нажатии на кнопку Батон1 джокер найти не может. Возможно, из-за несовместимости версий (у меня 7-ая делфа)
Кстати, в данном пасьянсе ни джокер, ни зеро, ни крест не нужны будут. Если только для тестовых примеров... И еще. Имхо картинки все надо загружать из dll, чтобы в случае необходимости можно было менять рисунки карт (к примеру, в настройках игры самим игроком) (возможно, понадобится), и чтобы игрок сам не мог с этими картинками ничего сделать (dll так просто не вскроешь ![]() |
![]() |
![]() |
![]() |
#20 |
Регистрация: 04.10.2007
Сообщений: 8
|
![]()
Ну, надо открыть .bpg файл (это проектная группа с проектами для exe и dll) через Delphi>Open Project и сделать Build All Projects.
dll и появится. Картинки можно подредактировать, и снова перебилдить. В новом проекте я dll оставил, только запаковал UPX, чтоб не разбухала. В этот раз я готов рассказать, что планировал: как все будет работать. В приложенном файле (ReadMe.txt в архиве) я набросал заметки, получилось не очень, я торопился, но вроде относительно читабельно получилось. Также там новый проект, который таскает карту и отображает, что таскает полупрозрачно. Пока писал, нашел недостаки в модуле UnitCards. Исправлю. Cледующее приложение будет уметь таскать все карты и обрабатывать простую логику. Оно будет готово примерно в течении недели, как получится освободить часа 4-5, так сразу напишу и выложу. Его можно будет уже переделывать под твою задачу. Кстати, ты так и не выложил ТЗ. Или я его просто не вижу. -> mutabor Ну, можно и так, но слишком много вычислений. Глянь, как я сделал, используя Std драг-дроп. ...Наперекор всем сомнениям успеха добьется лишь тот, кто способен действовать в любых условиях... Heinz Wilhelm Guderian
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Курсовая работа | deadh5n1 | Помощь студентам | 3 | 05.11.2008 20:05 |
курсовая | lacost | Фриланс | 2 | 03.06.2008 21:26 |
Курсовая. Файлы | Sid maksim | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 13.05.2008 20:19 |
help! курсовая | Nurik | Фриланс | 2 | 02.04.2007 11:57 |