いろいろ試したところ
最初の方に間違いがあることが分かったのですが
ここからどうすればいいでしょうか。
#include "DxLib.h"
typedef struct{
int x,y,img,muki,walking_flag;
}ch_t;
int hantei[15][20] = {
{ 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,1,1,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1 },
};
int hantei2[15][20] = {
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,0,0,1,0,0,2,1,1,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
};
int hantei3[15][20] = {
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1 },
{ 1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
};
//256//384//224//352
int can_or_cannot(int x,int y,int muki){//進めるかを判定する
if(muki==0)//上向きなら
if(hantei[y/32-1][x/32]>0)//進めるか判定
return 1;//エラー
if(muki==1)//左向きなら
if(hantei[y/32][x/32-1]>0)
return 1;
if(muki==2)//下向きなら
if(hantei[y/32+1][x/32]>0)
return 1;
if(muki==3)//右向きなら
if(hantei[y/32][x/32+1]>0)
return 1;
return 0;//正常
}
int can_or_cannot2(int x2,int y2,int muki){//進めるかを判定する
if(muki==0)//上向きなら
if(hantei2[y2/32-1][x2/32]>0)//進めるか判定
return 1;//エラー
if(muki==1)//左向きなら
if(hantei2[y2/32][x2/32-1]>0)
return 1;
if(muki==2)//下向きなら
if(hantei2[y2/32+1][x2/32]>0||hantei2[y2/32][x2/32]==2)
return 1;
if(muki==3)//右向きなら
if(hantei2[y2/32][x2/32+1]==1)
return 1;
return 0;//正常
}
int can_or_cannot3(int x2,int y2,int muki){//進めるかを判定する
if(muki==0)//上向きなら
if(hantei3[y2/32-1][x2/32]>0)//進めるか判定
return 1;//エラー
if(muki==1)//左向きなら
if(hantei3[y2/32][x2/32-1]>0)
return 1;
if(muki==2)//下向きなら
if(hantei3[y2/32+1][x2/32]>0||hantei2[y2/32][x2/32]==2)
return 1;
if(muki==3)//右向きなら
if(hantei3[y2/32][x2/32+1]==1)
return 1;
return 0;//正常
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int image, image2,image3,image4,image5,image10,image11,image12,image13,image14,image15,image16,image17,image18,image19,image20,image21,img[20],sound;
char Key[256];
ch_t ch;
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
ch.x =320;
ch.y =224;
ch.walking_flag=0;
ch.muki=2;
int sb;
sb=0;
if(sb==1)
SetDrawScreen( DX_SCREEN_BACK ) ;
image = LoadGraph( "satou.png" ) ; //back.bmpのハンドルを代入
image2 = LoadGraph( "sibafu.bmp" ) ; //char.pngのハンドルを代入
image3 = LoadGraph( "satouu.png" ) ;
image4 = LoadGraph( "satoum.png" ) ;
image5 = LoadGraph( "satouh.png" ) ;
image10 = LoadGraph( "satpst.bmp" ) ;
image11 = LoadGraph( "nikai.bmp" ) ;
image12 = LoadGraph( "ikkai.bmp" ) ;
image13 = LoadGraph( "sibab.bmp" ) ;
image14 = LoadGraph( "oku2.png" ) ;
image15 = LoadGraph( "oko.png" ) ;
image16 = LoadGraph( "satoub.png" ) ; //char.pngのハンドルを代入
image17 = LoadGraph( "comsb.png" ) ;
image18 = LoadGraph( "aikon.png" ) ;
image19 = LoadGraph( "commb.png" ) ;
image20 = LoadGraph( "comtb.png" ) ;
image21 = LoadGraph( "ama.png" ) ;
img[0]= LoadGraph( "oku.bmp" ) ;
img[1] = LoadGraph( "sibab2.bmp" ) ;
img[2] = LoadGraph( "ulo.png" ) ;
img[3] = LoadGraph( "satov.bmp" ) ;
img[4] = LoadGraph( "poison.png" ) ;
img[5] = LoadGraph( "gin2.png" ) ;
img[6] = LoadGraph( "comdb.png" ) ;
img[7] = LoadGraph( "ekusu.png" ) ;
img[8] = LoadGraph( "iwa.png" ) ;
img[9] = LoadGraph( "tai.png" ) ;
img[10] = LoadGraph( "bisi.png" ) ;
img[11] = LoadGraph( "smo.png" ) ;
img[12] = LoadGraph( "cua.png" ) ;
img[13] = LoadGraph( "sh.png" ) ;
img[14] = LoadGraph( "gomi.png" ) ;
img[15] = LoadGraph( "fbs.png" ) ;
img[16] = LoadGraph( "kiri.png" ) ;
sound = LoadSoundMem( "machi.mp3" );
//描画先を裏画面に設定
int shyou=11; int st=0,st2=480;
int i,j,iz,com,aif=1,aix=0,aiy=0,ar=0,comf=0,tf=0,ma=0,hp=0,thp=0,masf=0,kt=0,fbsf=0; //ハンドルを受け取るためのint型変数を宣言
com=0;
double com4t=0,al=0,tdm=0,cdm=0,ta=0,hk=0,mp=0,mh=0,pf=0,cbz=0,mas=0,m=0,sf=0;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
///////////////////////////////////////////////////////////////////////////////////////////////////