私はC++を使ってスネークチュートリアルのゲームに従おうとしています。しかし、彼らはいくつかのWindowsライブラリを使用していたようですが、私の場合はLinuxでコンパイルしています。問題は私ののInput()メソッドにあります。私はここで見つけた推奨コードで変更しようとしましたが、それは私のためにはうまくいきませんでした。これまたは任意の勧告を回避する方法はありますか?ありがとう。Linux用の入力キーは扱いにくいですが、どうすればC++で動かすことができますか?
#include <iostream>
#include <stdio.h>
#include <ncurses.h>
#include <unistd.h>
.....
//Get the key input inorder to move the snake around
void Input() {
//Tried this from the stackoverlow recommendations, did not work for my situation
if (getch() == '\033') {
getch();
switch(getch()) { // the real value
case 'A':
// code for arrow up
direction = UP;
break;
case 'B':
// code for arrow down
direction = DOWN;
break;
case 'C':
// code for arrow right
direction = RIGHT;
break;
case 'D':
// code for arrow left
direction = LEFT;
break;
case 'Q':
gameOver = true;
break;
default:
break;
}
}
}
.....
私は持っています問題は、Linuxは、しかし、それは動かない、使用していたヘビゲームのチュートリアルは、私は、私は上記の持っているもので、それを修正しようとした何をする)(kbhitを受け入れないということですヘビ。
"機能しなかった"とは何ですか? –
@ブラッド。私の入力方法は、チュートリアルの設定方法はkbhit()を使用していましたが、これはウィンドウ専用です。しかし、私はLinuxでそれを行う方法を見つけたいと思っています。 – KonoDDa
あなたの問題は、あなたがリターンをヒットする必要があるということですか? –