Downgrade forever!!! » http://fdd5-25.net » Игры » Мой Арканоид
1. Профессор - 28 Июля, 2006 - 19:39:32
Решил создать новую тему. Кстати в игре работает Миди звук, но он пока фиговый. Разрешение 640*480*256. Мышь. Компилятор ТП7. Скачивайте и тестите. Помогите: не умею использовать прямой доступ к видео памяти; не умею использовать задержку по таймеру и уменьшать её; нужен маленький модуль для работы с СБ и Миди. Так же не знаю, как решить проблемму увеличения кол-ва направлений шарика.

(Добавление)
Игра не идёт на новых видео адаптерах.

2. sdodsa777 - 29 Июля, 2006 - 18:19:04
Вот тебе SB и MIDI. Все, что у меня есть, но рабочее:
http://hw.fdd5-25.net/temp/files/SBMIDI.RAR
Еще, где-то есть модули для работы с VESA и VGA. А вообще, тебе надо пробовать переходить на VESA. В крайнем случае, можно просто поставить драйвер VESA от S3 на обычную карточку.

[PS]: Админам сервися обменника - удалите файл SB&MIDI.RAR, ато там символ "&", и мне не удалить. Его длинна = 0.

(Отредактировано автором: 29 Июля, 2006 - 18:23:03)

3. RomanKarpach - 29 Июля, 2006 - 19:55:19
Уже ...
F:\Скачано из сети\мызыка\dos.mp3

4. Профессор - 29 Июля, 2006 - 21:59:22
Спасиба. Насчёт Веса не знаю, а на прямой доступ к Враму по любому надо переходить. И дров никаких не надо. Вот фигово, рисовать стандартными средствами я не умею(не красиво), а из файла брать - геморой. Единственное, что мне нравица - индикаторы. Просто, бiстr@ и красиво. Как zделать, чтобы у шара было не 4 направления, а 16? Какой лучший вариант?

5. sdodsa777 - 30 Июля, 2006 - 10:25:55
А не надо делать направления! Еще на 8ми битных компах решили эту проблему: обрабатывать координаты поотдельности. Т.е. их увеличение/уменшение на единицу скорости шарика. Это не сложно.

6. Профессор - 30 Июля, 2006 - 15:48:51
Да, я об этом думал, но пока я пользуюсь примитивными стандартными средствами обработки спрайтов это не получица. Если пользоваца нормалпутом, то будут оставаца следы, а если Хорпутом, то фсё будет мигать( проверено на своём опыте, кстати в Попкорне фсё делаеца Хорпутом).Надо переходить на следуйщий уровень!

(Добавление)
Кстати я тоже не направлениями делал, а скоростью. См. исходник.

7. sdodsa777 - 30 Июля, 2006 - 18:07:40
Хехе, а я в своих танчиках перерисовывал поле тока под танком. Всегда известны старые и новые координаты.

8. Профессор - 30 Июля, 2006 - 21:13:14
ВООТ!, передвигать по пикселю - это одно, а мышью - сафсем другое, другова выхода я не нашёл. Хор путом это решаеца, но изображение будет мигать.

9. sdodsa777 - 30 Июля, 2006 - 22:19:54
Почему по пикселю? Я отрисовывал все знакоместо. Просто все это дело делалось в ОЗУ, а на экран переносилось процедурой на АСМе сразу за VBLANK'ом. И ничего не мерцало.

10. Профессор - 30 Июля, 2006 - 22:28:53
А, по знакоместам это другое дело.

11. Профессор - 01 Августа, 2006 - 08:44:07
Похоже любители Арканоида фсе вымерли?

12. - 03 Августа, 2006 - 00:30:59
Цитата:
Если пользоваца нормалпутом, то будут оставаца следы, а если Хорпутом, то фсё будет мигать( проверено на своём опыте, кстати в Попкорне фсё делаеца Хорпутом).

Дык, рисуешь не в экранной области, а в ОЗУ - и сначала наносишь AND'ом маску, т.е. контур очишаешь, потом ксоришь со спрайтом. А потом тупо с помощью move (ТурбоПаскаль ведь?) перегоняешь в экранную область. Это если видеорежим с одной страницей. Если многостраничный - еще проще. Рисуешь на теневой странице, а потом просто переключаешься на нее.

13. sdodsa777 - 03 Августа, 2006 - 07:47:29
Дык, DrPass, я ж про это и грил.

14. Профессор - 03 Августа, 2006 - 11:16:19
Гм хорошо. Лучше тада в другой странице рисовать. Попробую.

15. sdodsa777 - 03 Августа, 2006 - 12:58:30
тока не просто "move", а:
Цитата:

{Out screen}
procedure show_scr;
var o,s:word;
begin
o:=ofs(vbuf^); s:=seg(vbuf^);
{Задержка для синхронизации по кадрам}
asm
mov dx,3DAh
@w0:in al,dx
test al,8h
je @w0
{ @w1:in al,dx
test al,8h
jne @w1}
push ds
push si
push es
push di
mov ax,s
mov ds,ax
mov ax,o
mov si,ax
mov ax,$A000
mov es,ax
mov di,0
mov cx,$3E80 {3E80}
db $66
rep movsw
pop di
pop es
pop si
pop ds
end;
end;

Ожидание обратного хода можно убрать, но тогда может помелькивать.
Это кусок кода из моих танчикоФФ.

16. Профессор - 03 Августа, 2006 - 14:12:38
Фсё! Я передумал! Буду писать на ФАСМЕ! Немного уже знаю. Конечно принцып остаёца тот же. Подскажите хороший сайт исходников? Начинаю.

17. sdodsa777 - 03 Августа, 2006 - 16:04:04
Цитата:
Фсё! Я передумал! Буду писать на ФАСМЕ! Немного уже знаю. Конечно принцып остаёца тот же. Подскажите хороший сайт исходников? Начинаю.

Зачем? Я специально сделал эту процедуру на асме, чтобы она быстро переносила экран (строковая инструкция с автоповтором). А саму гаму все-таки надо на ЯВУ писать, иначе запаришься
PS оператор db 66h для префикса 32-разрядной команды. Труба его не понимает.

(Отредактировано автором: 03 Августа, 2006 - 16:05:23)

18. Профессор - 03 Августа, 2006 - 17:09:58
Ну блин. Уже запарился с этим Ассемблером! Посрать. Буду на Пасе делать, токо графику ваще фсю на ассемблере. Я ваще ничё не понял, ты используешь модуль Граф, или сразу в видео память? Мозги разрываюца!

(Добавление)
Посмотрю, как это делаеца в другом Арканоиде на Пасе. Его тоже могу выложить. Там графика на Асме, но Граф используют для установки режима и вывода текста. Кстати я из него идею о индикаторах взял.

19. sdodsa777 - 03 Августа, 2006 - 18:49:30
Вот тебе мой старый проект.
http://vis-image.narod.ru/TANK.rar 550Кб
Я его переписывал с 0 раз 10, посмотри, как я сделал и делай по своему.

20. Профессор - 03 Августа, 2006 - 18:57:49
Спасиба!

 Наверх Powered by exBB 1.9.1 • ultraGrey skin design by Slaver   


[ Script Execution time: 0.0016 ]   [ Gzip Disabled ]