Lesson5 メッセージの改良
よくあるゲームでは名前と会話が分かれています。
例えば
レナ「はい、ご主人様ぁ・・」
と名前とセリフを区別する。
セリフでないものは「」を付けない。
sample.txtを次のように変更する。
1学美 学園祭だよ。わくわくきらきらだよ 1光香 まなびちゃん 1むつき で、どうするんだ?まだ署名集まってないよ 1学美 まっすぐGO! この子たち何も考えてないわね・・・。 1芽生 いいわ。私に考えがある 1桃葉 なになに? 0 |
プログラムでは関数を1つ追加する。
void MessageTask(char* mes)
{//メッセージの処理
char name[16]="";
char message[80]="";
char* p=mes;
int x=0;
//名前の取得
while(*p!=0){
if(*p!=32){
name[x++]=*p++;
}else{
name[x]=0;//終端
p++;break;
}
}
//セリフの取得
x=0;
while(*p!=0){
message[x++]=*p++;
}
message[x]=0;//終端
printf("%s 「%s」\n",name,message);
}
int main()
{
int Adr=0;
int yes=0,no=0;//フラグ
int ch;
ScriptRead();//ここでファイルから読み出し
printf("スクリプト開始します。\n");
while(Data[Adr][0]!='0'){//先頭のコードを見る
switch(Data[Adr][0]){
default://命令でないものはメッセージとして表示
printf("%s\n",Data[Adr]);
getch();//入力待ち
break;
case '1'://メッセージ
MessageTask(Data[Adr]+1);
getch();//入力待ち
break;
|
これを実行するとセリフ部分が見やすくなるはずである。
スクリプトシステムによっては自分で「」をつけないといけない場合もあるが
システムで自動処理されたほうが便利である。