LINUX.ORG.RU

G++ клавиши управления курсором


0

1

Доброго времени суток. Столкнулся с проблемой захвата нажатия КУП. Необходимо написать программу, которая будет перемещать ненулевой элемент по обнуленной матрице по нажатию КУП. Пример:

00000
00000
00100
00000
00000 
//нажимается стрелка вправо
00000
00000
00010
00000
00000
Вопрос, собственно, такой: как можно захватить эти коды (KEY_UP, KEY_DOWN...) и в какого типа переменную это зависывать? Спасибо.


Ответ на: комментарий от sudo-s

инклудь ncurses.h или таки поставь их, если -dev-пакетов нет.

anonymous ()
#include <ncurses.h>
#include <iostream>
using namespace std;
int main()
{
  int clear();
  const int n=20;
  int keypad(WINDOW *win, bool bf);
  char matr[n][n*2],btn;
  int i,j;
  for (i=0;i<n;++i)
    for (j=0;j<n*2;++j)
      matr[i][j]='#';

  for (i=1;i<n-1;++i)
    for (j=1;j<n*2-1;++j)
      matr[i][j]='.';

 for (i=0;i<n;++i)
   { 
     for (j=0;j<n*2;++j)
       cout<<matr[i][j];
     cout<<endl;
   }
 cin>>btn; 

 switch (btn)
   {
   case KEY_DOWN: 
     cout<<'down';
     break;

   case KEY_UP:
     cout<<'up';
     break;

   case KEY_LEFT:
     cout<<'left';
     break;

   case KEY_RIGHT:
     cout<<'right';
     break;

   default:
     cout<<'default';
     break;
   }

 return 0;
}

ЧЯДНТ? писал в чар.

sudo-s ()
Ответ на: комментарий от anonymous
(cffi:with-pointer-to-vector-data
    (f (coerce '(#x31 #xC0 #xE4 #x60 #xC3)
               '(vector (unsigned-byte 8))))
  (cffi:foreign-funcall-poiner f () :uint8))
Love5an ()
Ответ на: комментарий от sudo-s

еще раз спрашиваю — примеры посмотреть не судьба?

Reset ★★★★★ ()

Кое-кто не понимает программирования и языка в принципе.

unikoid ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.