User Tag List

Показано с 1 по 10 из 531

Тема: ZX Like Pascal

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,340
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, встроенная функция, дающая два кода клавиш, как-то не очень подходит для игр. Нажав диагональ и огонь - это уже три кнопки. Да и опрашивать каждый раз каждую клавишу клавиатуры, шифровка в две позиции. Потом расшифровка этих позиций... слишком много траты проц времени. Сейчас напишу альтернативный клавиатурный опросник.

    - - - Добавлено - - -

    Код:
    KEY_1	EQU 0FEF7H
    KEY_2	EQU 0FDF7H
    KEY_3	EQU 0FBF7H
    KEY_4	EQU 0F7F7H
    KEY_5	EQU 0EFF7H
    KEY_0	EQU 0FEEFH
    KEY_9	EQU 0FDEFH
    KEY_8	EQU 0FBEFH
    KEY_7	EQU 0F7EFH
    KEY_6	EQU 0EFEFH
    KEY_Q	EQU 0FEFBH
    KEY_W	EQU 0FDFBH
    KEY_E	EQU 0FBFBH
    KEY_R	EQU 0F7FBH
    KEY_T	EQU 0EFFBH
    KEY_P	EQU 0FEDFH
    KEY_O	EQU 0FDDFH
    KEY_I	EQU 0FBDFH
    KEY_U	EQU 0F7DFH
    KEY_Y	EQU 0EFDFH
    KEY_A	EQU 0FEFDH
    KEY_S	EQU 0FDFDH
    KEY_D	EQU 0FBFDH
    KEY_F	EQU 0F7FDH
    KEY_G	EQU 0EFFDH
    KEY_EN	EQU 0FEBFH
    KEY_L	EQU 0FDBFH
    KEY_K	EQU 0FBBFH
    KEY_J	EQU 0F7BFH
    KEY_H	EQU 0EFBFH
    KEY_CS	EQU 0FEFEH
    KEY_Z	EQU 0FDFEH
    KEY_X	EQU 0FBFEH
    KEY_C	EQU 0F7FEH
    KEY_V	EQU 0EFFEH
    KEY_SP	EQU 0FE7FH
    KEY_SS	EQU 0FD7FH
    KEY_M	EQU 0FB7FH
    KEY_N	EQU 0F77FH
    KEY_B	EQU 0EF7FH
    
    KEYTEST
    	pop hl
    	inc hl
    	ld a,(hl)
    	inc hl
    	in a,(0feh)
    	or (hl)
    	inc hl
    	inc a
    	RLCA
    	AND 1
    	ld (_KEYPRESSED),a
    	jp (hl)
    
    _KEYPRESSED defw 0
    использовать нужно так(проверка пробела):
    asm(keytest)
    asm(key_sp);
    if keypressed<>0 then game_state:=1;

    Именно два вызова подряд. Второй вызов это не вызов, а передача константы.
    Переменная keypressed возвращает 0-не нажато или 1-нажато.

    - - - Добавлено - - -

    На счёт проверки коллизий, тоже есть идея, как сделать это проще. Завести матрицу 32 на 16, и там хранить номер объекта, и нужно-ли очистить это знакоместо. Две проблемы сразу решатся.

    Завтра попробую написать.
    Последний раз редактировалось Reobne; 27.10.2019 в 20:28. Причина: Подправил код

    Этот пользователь поблагодарил Reobne за это полезное сообщение:

    ALKO(26.10.2019)

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

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

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

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

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