初投稿です イベントの会話での質問
Posted: 2010年5月23日(日) 18:15
初めての投稿です。
今、就職活動で作品を提出するのですが、イベントの処理をつくっているのですが、
いまいちうまくプログラムが作れません。
今は、文字表示までいきましたが、キーボードを押したときに次のテキスト表示したいのですが、
うまくいくことができません。switch文を2重にやりやり方は駄目だと先生にいわれました。
どうしたらいいか、知恵を貸してください。
学校で相談できる人がいなくて困っています。
席が離れているのもありますが、なかなか共通の話題があまり見つからず、なかなか話せない状態であります。
こんな私の、質問に答えてください。お願いします。
char EventMain(){
LPPLAYER lpPl=GetPlayer();
g_lpPl_surface=GetEvent();
char ret=GAME_EVENT;//
//キャラクターによってシナリオ変更
switch(lpPl->ch.character_select){
case 0:
//キャラクターの値で処理を変更
ret=EventContents(lpPl->event_flag);
break;
}
return ret;///イベント
}
char EventContents(int no){
char mes[256]={0};//文字を格納
static int text_flag=0;//テキスト
static int Key_flag=TRUE;//次のテキスト言ってもいいかキーボード
char ret=GAME_EVENT;//シナリオ
HDC hDC=NULL;
if(JustKey('S')){
if(Key_flag){
}
}
ret=Textlist(no,text_flag);
return ret;
}
BOOL LetterExpress(char * letter, int size,int x,int y,COLORREF rgb){
HDC hDC=NULL;
g_lpDDSBack->GetDC(&hDC);
SetFont(hDC,size,rgb);//フォントの設定
TextOut(hDC,x,y,letter,lstrlen(letter));
ReleaseFont(hDC);//フォントの解放
g_lpDDSBack->ReleaseDC(hDC);
return FALSE;
}
char Textlist(int no,int text_no){
BOOL ret=FALSE;
LetterExpress("これもやつのしわざか",20,0,460,RGB(0,0,0));
LetterExpress("これもや",20,0,460,RGB(0,0,0));
LetterExpress("これざか",20,0,460,RGB(0,0,0));
return CHARACTER_SELECT;
/*switch(text_no){
case 0:LetterExpress("これもやつのしわざか",20,0,460,RGB(0,0,0),text_no);break;
case 1:LetterExpress("もうだめか",20,0,440,RGB(255,255,255),text_no);break;
case 2:LetterExpress("だれか",20,0,420,RGB(255,255,255),text_no);return CHARACTER_SELECT;
}*/
//return CHARACTER_SELECT;
/*
switch(text_no){
case 0:
//EventAnimationSet(&g_ply.ani,WALK);
LetterExpress("これはやつのしわざか?",20,0, 460,RGB(0,200,0));
break;
case 1:
LetterExpress("もはやこれまでか?",20,0, 460,RGB(0,200,0));
break;
case 2:
LetterExpress("もうだめだ",20,0, 460,RGB(0,200,0));
}
*/
return GAME_EVENT;
}
プログラムはこんな感じにしています。
今、就職活動で作品を提出するのですが、イベントの処理をつくっているのですが、
いまいちうまくプログラムが作れません。
今は、文字表示までいきましたが、キーボードを押したときに次のテキスト表示したいのですが、
うまくいくことができません。switch文を2重にやりやり方は駄目だと先生にいわれました。
どうしたらいいか、知恵を貸してください。
学校で相談できる人がいなくて困っています。
席が離れているのもありますが、なかなか共通の話題があまり見つからず、なかなか話せない状態であります。
こんな私の、質問に答えてください。お願いします。
char EventMain(){
LPPLAYER lpPl=GetPlayer();
g_lpPl_surface=GetEvent();
char ret=GAME_EVENT;//
//キャラクターによってシナリオ変更
switch(lpPl->ch.character_select){
case 0:
//キャラクターの値で処理を変更
ret=EventContents(lpPl->event_flag);
break;
}
return ret;///イベント
}
char EventContents(int no){
char mes[256]={0};//文字を格納
static int text_flag=0;//テキスト
static int Key_flag=TRUE;//次のテキスト言ってもいいかキーボード
char ret=GAME_EVENT;//シナリオ
HDC hDC=NULL;
if(JustKey('S')){
if(Key_flag){
}
}
ret=Textlist(no,text_flag);
return ret;
}
BOOL LetterExpress(char * letter, int size,int x,int y,COLORREF rgb){
HDC hDC=NULL;
g_lpDDSBack->GetDC(&hDC);
SetFont(hDC,size,rgb);//フォントの設定
TextOut(hDC,x,y,letter,lstrlen(letter));
ReleaseFont(hDC);//フォントの解放
g_lpDDSBack->ReleaseDC(hDC);
return FALSE;
}
char Textlist(int no,int text_no){
BOOL ret=FALSE;
LetterExpress("これもやつのしわざか",20,0,460,RGB(0,0,0));
LetterExpress("これもや",20,0,460,RGB(0,0,0));
LetterExpress("これざか",20,0,460,RGB(0,0,0));
return CHARACTER_SELECT;
/*switch(text_no){
case 0:LetterExpress("これもやつのしわざか",20,0,460,RGB(0,0,0),text_no);break;
case 1:LetterExpress("もうだめか",20,0,440,RGB(255,255,255),text_no);break;
case 2:LetterExpress("だれか",20,0,420,RGB(255,255,255),text_no);return CHARACTER_SELECT;
}*/
//return CHARACTER_SELECT;
/*
switch(text_no){
case 0:
//EventAnimationSet(&g_ply.ani,WALK);
LetterExpress("これはやつのしわざか?",20,0, 460,RGB(0,200,0));
break;
case 1:
LetterExpress("もはやこれまでか?",20,0, 460,RGB(0,200,0));
break;
case 2:
LetterExpress("もうだめだ",20,0, 460,RGB(0,200,0));
}
*/
return GAME_EVENT;
}
プログラムはこんな感じにしています。