(C) ovladanie so sipkami

Sekcia: Programovanie 23.04.2012 | 21:53
Erik   Návštevník
pisem jednoduchu hru a chcel by som, aby som sa vedel pohybovat sipkami (btw w,a,s,d funguje). V kniznici curses.h by mali byt definovne ako KEY_LEFT atd..

no pri kompilacii mi vyhlasi tuto chybu ku kazdemu riadku kde pouzivam KEY_X
& 95:7: warning: case label value exceeds maximum value for type [enabled by default]

tak som si chcel spravit vlastne makra s ASCII hodnotami, kedze tie mi nejdu, ale neviem ako zistit ASCII pre nieco taketo "^[[B"

    • Re: (C) ovladanie so sipkami 23.04.2012 | 21:58
      erik   Návštevník
      void control() {

      char con;

      raw();
      noecho();
      keypad(stdscr, TRUE);

      while((con = getch()) != 'x' )
      {
      switch(con)
      {
      case 'a': case 'A': case KEY_LEFT: goLeft(); break;

      case 'd': case 'D': case KEY_RIGHT: goRight(); break;

      case 'w': case 'W': case KEY_UP: goUp(); break;

      case 's': case 'S': case KEY_DOWN: goDown(); break;

      default: break;
      }
      }

      }
      • Re: (C) ovladanie so sipkami 24.04.2012 | 01:22
        Avatar m4jkl   Používateľ
        ahoj,

        skus pouzivat int namiesto char. napr. aj funkcia getch() vracia int, nie char. potom by to malo byt bez warningov.
        • Re: (C) ovladanie so sipkami 24.04.2012 | 01:30
          er   Návštevník
          Boze! .... Dik uz to ide