各「スペースバー」の「y」値を変更する機能を作りたいと思っていますが、「x」の値はキーを押さなくても上がります。これまでのところ私は「Y」の値と各「スペースキー」を押して上の「x」の値が増加し...しかし、私が欲しいものではないthatsのいる、プログラムを作った...これは私のプログラムです:他の値が上がっている間にキープレスで値を変更する方法はありますか?
#include <windows.h>
#include <conio.h>
#include <iostream>
using namespace std;
int key=getch();
int x,y;
int main()
{
for(int z=1;z<200;z++){
for(x,y;x<100,y<100;){
if(x<100){
x++;
system("cls");
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
Sleep(100);
}
if(y<100){
if(key == 32){
y+=5;
system("cls");
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
Sleep(100);
key=getch();
}
}
}
}
cout<<"loop ended"<<endl;
Sleep(3000);
return 0;
そしてIまた、ユーザーが 'スペースバー'を押さなくて、値を 'y'にするだけで、種類を増やすことを止めたいのです...助けてください。
キーボードの相互作用をネイティブに検出することは、OSによって異なります。これは標準のC++ではサポートされていません。 –
"キープレス"と "キーリリース"については、オペレーティングシステムのAPIを*研究*する必要があります。いくつかのオペレーティングシステムは、(外部端末を扱うときコンソールモードのような)この機能を持っていないかもしれません。 –