1

getch() などを使用して、キーストロークを while() 関数に登録したいと考えています。

    while()
    {
        .
        .
        .
        if(kbhit()) k=getch();
        else cout<<"no input";
        cout<<k<<endl;
        k=0;
        Sleep(1200);
        .
        .
        .
    }

キーを押し続けると、関数はそのキーをしばらく表示し続けます。同様のコードを使用して、ワーム ゲームの動きを実装します。キーが押されない場合、ワームは向いている方向に進み続けます (ただし、これについては助けは必要ありません。既に解決済みです)。

しばらくの間、キーを1回押すだけで登録する方法を知る必要があります。コードブロックの使用。

4

2 に答える 2

1

単純。このような!!!。

#include <iostream>
#include <windows.h> 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
using namespace std;


#define KB_UP 72
#define KB_DOWN 80
#define KB_LEFT 75
#define KB_RIGHT 77
#define KB_ESCAPE 27
#define KB_F8 66



bool QuitGame=false;

char KB_code;

void simple_keyboard_input();  


int main(void)
{


  while(!QuitGame)
  {
      /* simple keyboard input */
      simple_keyboard_input();



  }



   return 0;
}



void simple_keyboard_input()
{
    if (kbhit())
      {
            KB_code = getch();


            switch (KB_code)
            {

                case KB_ESCAPE:

                    QuitGame=true;

                break;



            }        

      }

}
于 2014-01-25T14:05:33.663 に答える