はじめまして、最近からDXライブラリを使って、ゲーム作成を始めました。
まずは「14歳からはじめるC言語わくわくゲームプログラミング」をに掲載されているコードを打ち込みながら、進めているのですが、第三章の96ページのコードを打ち込み実行して、弾の画像が<Z>キーを押すと出るとかかれているのですが、<Z>キーを押しても弾が出ません。
# include "DxLib.h"
struct CharaData{
int x;
int y;
int ghandle;
int life;
};
//プロトタイプ宣言
void JitamaMove();
//グローバル変数
struct CharaData jikidata;
struct CharaData jitama;
int WINAPI WinMain(HINSTANCE hI,HINSTANCE hp,LPSTR lpc,int nc)
{
ChangeWindowMode(TRUE);
if(DxLib_Init()==-1)return(-1);
jikidata.ghandle=LoadGraph("media\\test_jiki.bmp");
jikidata.x=0;
jikidata.y=0;
jitama.ghandle=LoadGraph("madia\\test_tama.bmp");
SetDrawScreen(DX_SCREEN_BACK);
while(ProcessMessage()==0&&CheckHitKey(KEY_INPUT_ESCAPE)==0)
{
ClsDrawScreen();
DrawBox(270,190,370,290,GetColor(255,0,0),TRUE);
//自キャラ移動
int key=GetJoypadInputState(DX_INPUT_KEY_PAD1);
if(key&PAD_INPUT_UP)jikidata.y-=4;
if(key&PAD_INPUT_DOWN)jikidata.y+=4;
if(key&PAD_INPUT_LEFT)jikidata.x-=4;
if(key&PAD_INPUT_RIGHT)jikidata.x+=4;
DrawGraph(jikidata.x,jikidata.y,jikidata.ghandle,TRUE);
JitamaMove();
ScreenFlip();
}
DxLib_End();
return(0);
}
void JitamaMove(){
//弾の発射
int key=GetJoypadInputState(DX_INPUT_KEY_PAD1);
if(key & PAD_INPUT_A)
{
if(jitama.life==0)
{
jitama.life=1;
jitama.x=jikidata.x+24;
jitama.y=jikidata.y+8;
}
}
//弾の移動
if(jitama[i].life>0)
{
jitama.x+=10;
DrawGraph(jitama.x,jitama.y,jitama.ghandle,TRUE);
if(jitama.x>640)jitama.life=0;
}
}
どこが問題なのでしょうか?
どなたかご存知の方いらっしゃいましたら、問題箇所のご教授よろしくお願いいたします。