カーソルの移動について
Posted: 2008年3月19日(水) 00:22
c言語を初めて3か月ほど やっとゲームのプログラムまでこぎつけました
いつもなら1週間くらい悩んで解決策を見つけられたのですが、まだ動きのあるc言語に慣れていないためtどこが間違いなのか見つけられません
wakuをキーボードの方向入力で一マスずつ動くようにしたいのですが、wakuがどうしても出力されてくれません
どこがいけないのか、もしよければみてください
//othello
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
char Key[256];
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
{
int i,j;
int White,Red,Green,Blue,Black;
White=GetColor(255,255,255);
Red=GetColor(255,0,0);
Green=GetColor(0,255,0);
Blue=GetColor(0,0,255);
Black=GetColor(0,0,0);
DrawBox(80,0,560,480,Green,TRUE);
for(i=0;i<8;i++)
for(j=0;j<8;j++)
DrawBox(i*60+80,j*60,i*60+140,j*60+60,Black,FALSE);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if((i+j)%2==0)
DrawCircle(i*120+200,j*120+120,3,Black,TRUE);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
if((i+j)%2==0)
DrawCircle(i*60+290,j*60+210,25,White,TRUE);
else
DrawCircle(i*60+290,j*60+210,25,Black,TRUE);
}// 表示完了
SetDrawScreen( DX_SCREEN_BACK ) ;
while(!ProcessMessage() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE])
{
int i,j=0;
int Red;
Red=GetColor(255,0,0);
if ( Key[ KEY_INPUT_UP ] == 1 )
j--;
DrawBox(i*60+500,i*60+420,i*60+560,i*60+480,Red,FALSE);
ScreenFlip();
}
DxLib_End();
return 0;
}
いつもなら1週間くらい悩んで解決策を見つけられたのですが、まだ動きのあるc言語に慣れていないためtどこが間違いなのか見つけられません
wakuをキーボードの方向入力で一マスずつ動くようにしたいのですが、wakuがどうしても出力されてくれません
どこがいけないのか、もしよければみてください
//othello
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
char Key[256];
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
{
int i,j;
int White,Red,Green,Blue,Black;
White=GetColor(255,255,255);
Red=GetColor(255,0,0);
Green=GetColor(0,255,0);
Blue=GetColor(0,0,255);
Black=GetColor(0,0,0);
DrawBox(80,0,560,480,Green,TRUE);
for(i=0;i<8;i++)
for(j=0;j<8;j++)
DrawBox(i*60+80,j*60,i*60+140,j*60+60,Black,FALSE);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if((i+j)%2==0)
DrawCircle(i*120+200,j*120+120,3,Black,TRUE);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
if((i+j)%2==0)
DrawCircle(i*60+290,j*60+210,25,White,TRUE);
else
DrawCircle(i*60+290,j*60+210,25,Black,TRUE);
}// 表示完了
SetDrawScreen( DX_SCREEN_BACK ) ;
while(!ProcessMessage() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE])
{
int i,j=0;
int Red;
Red=GetColor(255,0,0);
if ( Key[ KEY_INPUT_UP ] == 1 )
j--;
DrawBox(i*60+500,i*60+420,i*60+560,i*60+480,Red,FALSE);
ScreenFlip();
}
DxLib_End();
return 0;
}