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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2007, 21:02   #1
EDG_aka_Dima
Новичок
Джуниор
 
Регистрация: 24.05.2007
Сообщений: 1
По умолчанию игрушка в курсовике

Здравствуйте, уважаемые программисты!

Проблема такая, курсовик нада делать, а я не знаю как прогу написать. Точнее игрушку.
Название игрушки не знаю, преподаватель даже не знает. Смысл такой: есть 2е палки, на одной из них кольца. Например 4 кольца. Нада перекинут эти кольца на другую палку, чтобы они лежали там в тойже последовательности. Вот такое "некрасивое" условие сказала мне преподаватель. Ужас просто. Уточнять у неё - самоубийство, пошлёт куда подальше... Если кто сталкивался с такой задачей, или знает как сделать, помогите пожалуйста. Ещё преподаватель сказала, что если брать 10 колец, от расчётов формул будет на всю жизнь! сказала взять 4-5.
EDG_aka_Dima вне форума Ответить с цитированием
Старый 24.05.2007, 21:18   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

не ханойские башни случаем или я что-то путаю?
pu4koff вне форума Ответить с цитированием
Старый 25.05.2007, 06:13   #3
Shurik Hacker
Проги на заказ
Пользователь
 
Аватар для Shurik Hacker
 
Регистрация: 22.05.2007
Сообщений: 41
По умолчанию

EDG_aka_Dima, ты чего то путаеш это сто пудов Ханойская башня, но она не может быть на 2 штырьках, как минимум на 3. Посуди сам перекиним мы с одно палки на другую n-ое количество колец в определённом порядке и обратно можно переместить их в том же порядке. И никаких изменений не произойдёт, Дык!
Вот тебе пример Ханойской башки на 3 палках.(Взят с проекта Delphi World)
Ханойская башня
Тяжёлое детство: восьмибитные игрушки.


"Ханойская башня" построена на очень простом алгоритме. Здесь я привожу этот алгоритм, который Вы сможете без труда воспроизвести.



type
THanoiBin = 0..2;
THanoiLevel = 0..9;





procedure MoveDisc(FromPin, ToPin : THanoiPin; Level : THanoiLevel);
// Это Вы должны сделать сами. Переместите один диск с одного штырька на другой.
// Диск окажется наверху (естественно, выше него дисков не будет)




Вы можете каким угодно образом перемещать диски 3-х пирамид. 3 пирамиды - наиболее простая разновидность алгоритма. Таким образом процедура переноса диска (MoveDisc) аналогична операции переноса диска на верхний уровень (MoveTopDisc): переместить диск наверх с одного штырька (FromPin) на другой штырек (ToPin) и передать указатель на штырек-приемник (MoveTower) вместе с уровнем расположения перемещенного диска. Другое решение заключается в использовании трех массивов [THanoiLevel] логического типа. В этом случае триггер "Истина (True)" означает наличие на пирамиде диска с размером, соответствующим порядковому номеру элемента массива THanoiLevel.



procedure MoveTower(FromPin, ToPin : THanoiPin; Level : THanoiLevel);
begin
if HanoiLevel <= High(THanoiLevel) then
begin
MoveTower(FromPin, 3 - FromPin - ToPin, Level + 1);
MoveDisc(FromPin, ToPin, Level);
MoveTower(3 - FromPin - ToPin, ToPin, Level + 1);
end;
end;




Чтобы переместить пирамиду целиком, вы должны вызвать процедуру MoveTower следующим образом:



MoveTower(0, 1, Low(THanoiLevel));
Делфист - это звучит гордо!
Shurik Hacker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7 задача на графику, игрушка Agent[PNZ] Помощь студентам 2 29.04.2008 10:54
Игрушка Rozalinda Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 14.01.2007 22:00