![]() |
|
|
![]()
|
|
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Занялся изучением асм под dos. Немного поднадоело копаться в учебных резидентах, решил попробовать сделать простенькие игрушки на Асме под dos. Я думаю все знают японскую игрульку "сокобан", так вот.... Вопрос в следующем- как реализовывается "толкание" ящика в данной игрульке. Допустим есть сам "грузчик" по адресу ...... , и есть "ящик" по другому адресу.....
Когда мы подошли к "ящику" вплотную, как обьяснить ПС что мы собираемся толкать данный байт в опрделённом направлении, а не затирать его символом "грузчика". Как реализовать такой алгоритм и какими командами. Логически, я так думаю, мы должны проверить находится ли "ящик" впереди,сзади,вверху или внизу, и если он находится по ходу движения нашего "грузчика", то по нажатию клавиши движения, ПС должен перерисовать данные байты ("ящика" и "грузчика") по новому адресу. Но как это реализовать программно и главное правильно... Работаю в текстовом режиме, пока удалось создать рабочий периметр, спрятал курсор, сделал передвижение смайлика "грузчика" по экрану при помощи клавиш управления, вывел тестовый символ "ящика". П.С. программирование раньше не занимался, знания асма по урокам Калашникова, Зубкова, Пирогова,Абеля (читаю).. Прошу помочь.... Далее по полному завршению в текстовом режиме игры, буду пробовать реализовать графический. и есчо один вопросик... как то в сети видел сайт буржуйский с рисунками персонажей из игр для создания покадровой анимации. Может у кого нибудь есть ссылочка, никак не могу найти... Это сообщение отредактировал(а) Xshot1 - 11.9.2009, 21:30 |
|||
|
||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 8 Всего: 14 |
Xshot1, анимацию в текстовом режиме? Смешно -- вот здесь пример анимированного движужегося человечка под DOS -- изучай создание графических приложений, вывод спрайтов на экран, gif-анимацию, проигрыш музыки и т.д. Сразу предупреждаю -- придется переходить на С/С++ или на любой другой ЯВУ, а на ассемблере делать только вставки
Это сообщение отредактировал(а) Mikl_ - 14.9.2009, 03:58 |
|||
|
||||
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
спасибо, понял
Игрульку написал, 2 уровня сделал, мало но всё же первая игрушка |
|||
|
||||
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Возник такой вопрос. Как в текстовом режиме заменить стандартный символ "А" на произвольный символ, созданный пользователем?
Допустим есть битовая карта символа к которой идёт обращение и дальнейшая отрисовка символа, а как сделать чтобы отрисовка происходила по моей карте и уже мой символ выводился на экран? Идея вот в чём. Запускаешь файл, на экране появляется рамка, не из стандартных символов, а из символов которые я перерисовал. если кто знает помогите,можно какой-нибудь примерчик. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: нет Всего: 37 |
||||
|
||||
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
спасибо, у меня точно также, только com и уровни взяты с тел. сименс а52
Это сообщение отредактировал(а) Xshot1 - 21.9.2009, 18:54 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: нет Всего: 37 |
ну тогда http://www.kiarchive.ru/pub/msdos/games/pl...ic/pusher.tar.Z
тут, как я понимаю, ответы на все вопросы есть |
|||
|
||||
| Xshot1 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Суть такая, написать вывод символа минуя int и таблицу векторов прерывания
есть такой код
так вот почему то не происходит правильный переход по
хотя в "saved_int10" лежит адрес int 10 (в памяти, при cs=0700 и смещением "saved_int10" лежит DD такое же как при ds=0000 : 0040h (int10)) при трассировки кода доходит до
и всё, прога вылетает помогите плз. |
||||||
|
|||||||
| Goodwin98 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 1.7.2009 Где: Deeptown Репутация: 4 Всего: 5 |
А у меня работает.
|
|||
|
||||
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Goodwin98, ясно значит у меня проблемы с компиляцией, пробовал и masm-ом и эмулятором EMU8086. Подскажите чем собирали и каким способом.
|
|||
|
||||
| Goodwin98 |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 1.7.2009 Где: Deeptown Репутация: 4 Всего: 5 |
Собирал я масмом. В коде ничего особенно не менял, только строчку
и в
двоеточие убрал. |
||||
|
|||||
| Xshot1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Goodwin98, спасибо. По запарке двоеточие впихнул.. Долго над примером голову ломал и пропустил
|
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |