Оберон-клуб «ВЄДАsoft»
https://zx.oberon2.ru/forum/

Опрос управления от клавиатуры и джойстиков (QAOPSpace, Sinclair 1, 2 и Kempston Joystick)
https://zx.oberon2.ru/forum/viewtopic.php?f=10&t=216
Страница 1 из 1

Автор:  Zorko [ 04 сен 2014, 12:05 ]
Заголовок сообщения:  Опрос управления от клавиатуры и джойстиков (QAOPSpace, Sinclair 1, 2 и Kempston Joystick)

Добавил модуль Control. Будет полезен для разработки игр. Опрашивает джойстики и кнопки, отлавливает одновременные нажатия, возвращая результат в компактном виде (как набор битов SET). Для ускорения применяется таблица раскладки клавиш.

Код: "OBERON"
  1. MODULE TestCtrl; (*$MAIN*)
  2. IMPORT B := Basic, Key := Control, Laser;
  3.  
  4. VAR
  5. pressed: SET;
  6. BEGIN
  7. LOOP
  8. pressed := Key.Get();
  9. IF Key.Left IN pressed THEN B.PAPER(B.Green) ELSE B.PAPER(B.Black) END;
  10. Laser.SETV(0, 8, 10, 8);
  11. IF Key.Right IN pressed THEN B.PAPER(B.Yellow) ELSE B.PAPER(B.Black) END;
  12. Laser.SETV(22, 8, 10, 8);
  13. IF Key.Up IN pressed THEN B.PAPER(B.Cyan) ELSE B.PAPER(B.Black) END;
  14. Laser.SETV(10, 0, 12, 8);
  15. IF Key.Down IN pressed THEN B.PAPER(B.Magenta) ELSE B.PAPER(B.Black) END;
  16. Laser.SETV(10, 16, 12, 8);
  17. IF Key.Fire IN pressed THEN B.BORDER(B.Red) ELSE B.BORDER(B.Black) END;
  18. END;
  19. END TestCtrl.


Вложения:
TestCtrl.tap [669 байт]
Скачиваний: 777
TestCtrl.png
TestCtrl.png [ 3.52 КБ | Просмотров: 13352 ]

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/