Важная информация

User Tag List

Страница 22 из 32 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 317

Тема: Что нужно для написания игр ?

  1. #211
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,991
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    105 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Но вашу подпрограмму можно немного изменить, как посоветовал jerri. Тогда DEC DE будет не нужна:
    Код:
     ...
    LOOP_1 ; -7 ;DEC DE
    	 LD E,A
    	 INC D
    	 LD A,D
    	 AND #07
    	 JR Z,COR_DE
    SPR_OUT	 LD A,E
    	 LDI
    	 LDI
    	 LD A,(HL) ;-16+7  ;LDI
    	 LD (DE),A ;7
    	 INC HL     ;7 
    	 DJNZ LOOP_1	 
    	 RET
    итого в тактах время исполнения увеличится на -7-16+7+7+7=-2, т.е. будет работать быстрее на 2 такта.
    Нет, работать не будет. Регистр A нельзя использовать.

  2. #211
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #212
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,991
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    105 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил движение вверх/вниз. Вывод танка по OR.
    Вложения Вложения
    • Тип файла: zip tank.zip (3.5 Кб, Просмотров: 68)

  4. #213
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    286
    Поблагодарили
    214 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    drbars, Вот так правильнее
    Надо клешинг именьшать
    Вложения Вложения
    • Тип файла: rar _tank.rar (3.6 Кб, Просмотров: 69)
    С уважением,
    Jerri / Red Triangle.

  5. #214
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,991
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    105 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    drbars, Вот так правильнее
    Надо клешинг именьшать
    Круто! Приделал звук
    Вложения Вложения

  6. #215
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    286
    Поблагодарили
    214 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Щас буриме сотворим
    С уважением,
    Jerri / Red Triangle.

  7. #216
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А насколько важен для игры вывод спрайтов с максимально возможной скоростью? Неужто вывод 6 танчиков съест фрейм? Может, стоит уже дальше двигаться?
    Собсна, тред про полезные процедуры, я внесу свои 5 копеек. Процедура опроса кнопок. По таблицам кнопок опрашивает клавиатуру и выдает байт напралений в kempston-формате
    Код:
    right:			equ #01
    left:			equ #02
    down:			equ #04
    up:			equ #08
    fire:			equ #10
    
    pool_keyborad_as_joystick:                     ; in: nothing
                                                   ; out:
                                                   ;       d - pressed directions in kempston format
    	ld a,#fe                               ; check for CAPS SHIFT
    	in a,(#fe)
    	rra
    	ld hl,KeyMapping.key_table - 1         ; selection of appropriate keyboard table
    	jr c,.no_cs
    	ld hl,KeyMapping.cs_key_table - 1      ; hl - keyboard table (zero-limited)
    .no_cs:
    	ld d,#00                               ; clear key flag
    	ld c,#0fe                              ; low address of keyboard port
    .loop:
    	inc hl                                 ; next key
    	ld b,(hl)                              ; high byte of port address from table
    	inc b                                  ; end of table check
    	dec b
    	ret z
    	inc hl                                 ; going to key mask
    	in a,(c)                               ; reading half-row state
    	or (hl)                                ;
    	inc hl                                 ; going to key flag
    	inc a                                  ; a = half-row state or mask. if #ff - current key isn't pressed
    	ld a,d
    	jr z,.loop                             ; key isn't pressed
    	or (hl)                                ; result or key flag
    	ld d,a                                 ; store it
    	jr .loop
    Я использую такие таблицы кодов (поддержка sinclair 1,2, qaopm+space, cursor keys)
    Код:
    ; key table format
    ; 1st byte - high byte of keyboard half-row address
    ; 2nd byte - inverted key mask (e.g. outer key - #fe, next key - #0fd etc)
    ; 3rd byte - direction bit
    
    key_table:
    	db #0ef, #0fe, fire	;0
    	db #0ef, #0fd, up	;9
    	db #0ef, #0fb, down	;8
    	db #0ef, #0f7, right	;7
    	db #0ef, #0ef, left	;6
    
    	db #0f7, #0fe, left	;1
    	db #0f7, #0fd, right	;2
    	db #0f7, #0fb, down	;3
    	db #0f7, #0f7, up	;4
    	db #0f7, #0ef, fire	;5
    
    	db #0df, #0fe, right	;p
    	db #0df, #0fd, left	;o
    	db #0fb, #0fe, up	;q
    	db #0fd, #0fe, down	;a
    	db #07f, #0fb, fire	;m
    	db #07f, #0fe, fire	;space
    
    	db #000
    
    
    cs_key_table:
    	db #0ef, #0fe, fire	;0
    	db #0ef, #0fb, right	;8
    	db #0ef, #0f7, up	;7
    	db #0ef, #0ef, down	;6
    	db #0f7, #0ef, left	;5
    
    	db #000

  8. #217
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,991
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    105 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил обработчик клавиатуры с переопределением клавиш
    Вложения Вложения

  9. #218
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    286
    Поблагодарили
    214 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    графику надо поправить
    правильный размер танка - 3*3 3*4
    С уважением,
    Jerri / Red Triangle.

  10. #219
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,991
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    105 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    графику надо поправить
    правильный размер танка - 3*3 3*4
    Да там надо всё иначе делать вообще. Процедурка вывода танка должна уметь за край экрана рисовать, т.к. во время игрового процесса оттуда может выехать танк врага. А за (X,Y) координаты спрайта нужно взять правый нижний угол этого спрайта.

    Если делать как я предложил, глобальными координатами и окном игровой проекции. Кстати динамично должно получится... Препятствия в лабиринте сделать можно тайлами 16х16px. Анализируем игровую проекцию и если было смещение быстро стеком рисуем сначала тайлы, потом танки... скролл проще по 16px сделать.

    Тайлы которые рисуются в ирговой проекции стоят атрибутную карту, по ней проверяем препятствия.

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

    Думаю есть шанс за фрейм уложиться даже со скроллом.
    Последний раз редактировалось drbars; 05.08.2013 в 23:25.

  11. #220
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    286
    Поблагодарили
    214 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    drbars, элементы 24х24 иначе танк некрасивый будет
    С уважением,
    Jerri / Red Triangle.

Страница 22 из 32 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. простой скрипт для написания хелпов
    от jim в разделе Программирование
    Ответов: 2
    Последнее: 09.04.2007, 14:33
  2. Ответов: 26
    Последнее: 09.08.2006, 14:48
  3. Ищу программистика для написания игры МИНОТАВР
    от TomCaT в разделе Программирование
    Ответов: 13
    Последнее: 15.04.2006, 03:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •