Ханойские башни

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ханойские башни

Post by Lavr »

Lavr wrote:Джентльмены, а кто-нибудь помнит, на каком из отечественных 8-битных компьютеров на К580ВМ80
была эта игра (Ханойские башни), написанная на ассемблере? :roll:
shoorick wrote:чай не дум, проще заново написать :)
Так и пришлось - раз уж не Дум - заново написать! :lol: Исходников нигде не случилось, вот и пришлось... :wink:
HanoiS.PNG
Работает под RAMFOS V6.0, который идёт в комплекте с emu.exe ...
HanoiS2.zip
Собственно, от RAMFOS используется единственная функция - Вывод служебной строки,
остальные служебные вызовы - стандартные для такого типа машин на К580ВМ80.
Поэтому и подпрограмму, преобразующую двоичное число в строковое десятичное, я вставил в код.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Re: Ханойские башни

Post by shoorick »

:kruto:
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Hanoi

Post by Lavr »

Lavr wrote:В результате двухдневных поисков до этого поста, я нашел Ханойские башни только для Apple II...
Image
К сожалению, графика нетрадиционная и что еще хуже - сама игра не бинарник, а какой-то образ диска... :(
Прямо меня заинтересовало, а чем же всё же открывается этот формат *.dsk ? :roll:
Вдвойне удивительно было, что моя Венда-7 присвоила ему иконку в виде дискеты... :o

Оказалось, что штатным средством является вот такой эмулятор Apple II - AppleWin !
AppleWin.PNG
Я устанавливал его, когда мы вот тут сочиняли загрузчик для Micro-Professor MPF-II...

Эмулятор emu.exe также поддерживает этот формат *.dsk, но именно
этот файл открыть не может... :(

Я нашел сайт с образам дисков для ПК "Агат": http://www.agat-legacy.narod.ru/onebyone.htm,
диск, помеченный для "Агат-7", emu.exe открыть смог... а другие - не справился. :-?

В архиве - образы дисков для "Агат-7" и для AppleWin:
emu_dsk.zip
Если "Агат-7" не запустит диск автозапуском, то запускают его: *C300G
AppleWin автозапуском свои Hanoi запускает успешно!
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ханойские башни

Post by Lavr »

Как-то не очень симпатично получаются у меня Ханойские башни под "Агат-7"... :-?
Towers.PNG
И программировать довольно неудобно - нет прямого позиционирования курсора. :(
Ну это ладно бы... но нет и функции HOME для курсора - возврат в левый верхний угол... :neutral:

Но ладно... допишу уж... раз уж мне так под 6502 вариант написать хотелось.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ханойские башни

Post by Lavr »

Дописал я "Ханойские башни" с алгоритмом автоматической сборки под процессор 6502...
HANOI_A7.PNG
Только алгоритм другой нежели в варианте под К580ВМ80. Там был реализован рекурсивный алгоритм,
а здесь - циклический...

Кстати, именно из-за алгоритмов этих меня и сподвигло позаниматься "Ханойскими башнями"...
Попался мне в сети случайно ресурс, где алгоритм реализовывали на 64-разрядном ассемблере! :roll:
Это меня очень за живое задело - ну надо же! А в былые времена для этого 8-биток хватало... :lol:
Вот тут-то и начал я искать древние программы под i8080 и 6502...

Архив с программой:
HANOI_A7.zip
Кстати, циклический алгоритм лучше подходит для слабеньких машинок, особенно бесстековых типа PDP-8.

Остался еще один интересный алгоритм автоматической сборки "Ханойских башен"...
И, возможно, вот в этом варианте он и реализован:

Image

Есть такой "метод треугольника"... если всё же соберусь перенести всё это ещё и под Apple-I, вот на нём
и попробую этот метод... 8)
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ханойские башни

Post by Lavr »

Lavr wrote:Есть такой "метод треугольника"... если всё же соберусь перенести всё это ещё и под Apple-I, вот на нём
и попробую этот метод... 8)
Подумал я над этим методом - по-моему, это самый шикарный тупой метод решения этой задачи
при реализации его на компьютере! :kruto:

Представим, что штыри расположены в виде треугольника.
Triangle.png
(Это достаточно представить себе, располагать их так не обязательно!)

А дальше - совершенно тупой и дубовый алгоритм:

1) Самое маленькое кольцо переложим на любой стержень.
(В дальнейшем это кольцо следует перемещать всегда только в том направлении,
что и при первом перекладывании
.
)
2) Затем перенесём какое-нибудь из оставшихся колец (такой ход единственно возможный).

1') Снова самое маленькое кольцо переложим в выбранном направлении.
2') И т.д. :lol:

Кстати... когда я прикидываю, как работает тот или иной алгоритм, то перекладывать кольца
прикольнее всего вот здесь: :wink:
https://synset.com/ai/ru/search/Towers_of_Hanoi.html
HanoiAn.PNG
Это очень забавные анимированные Ханойские башни! :kruto:
You do not have the required permissions to view the files attached to this post.
iLavr