• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミングで質問です。言語はC++です。)

C++でWhile文を使用して上矢印キーに応じてマウスカーソルを動かすプログラムの作り方

このQ&Aのポイント
  • C++でWhile文を使用して上矢印キーに応じてマウスカーソルを動かすプログラムを作成したい。
  • 試しにコードを書いてみたがうまく動かない。
  • どのようにすればプログラムが正常に動くようになるのか詳しく教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

どこからどこまでをwhileによってループしているか、よく考えてください。 while(1)の { から Sleep(500);の後の } までですよね?ということは、毎回 ・po.x=0; po.y=0; ・if( GetAsyncKeyState(VK_RETURN))break; ・if(GetAsyncKeyState(VK_UP)&0x8000 <0)po.x+=7; ・Sleep(500); この4つの命令を実行することになります。 ・毎回poが(0,0)になります。これは意図したものですか? ・GetAsyncKeyState(VK_UP)はSHORT型ですが、VC++の演算規則によって、GetAsyncKeyState(VK_UP)&0x8000 はint型になります。最近のならintは32bitだと予想されるので0x8000も0x0000も0以上です。 よって、 GetAsyncKeyState(VK_UP)&0x8000 <0 は絶対成立しません。 ・po.x+=7としてますが、 xが大きくなる方向が「上」ですか?大抵は「yが小さくなる方向」が「上」になっていると思うのですが。もっとも、ここで値が変わっても、次のループでまた0の戻されてしまいますが。 あと、繰り返しはroopではなくloopです

関連するQ&A