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;
        

これを実行するとセリフ部分が見やすくなるはずである。
スクリプトシステムによっては自分で「」をつけないといけない場合もあるが
システムで自動処理されたほうが便利である。

[戻る][次へ]

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル