関数が動きません
Posted: 2010年7月05日(月) 23:37
一時間も経たずに連続投稿申し訳ありません。
現在、選択した数字によって展開が分岐する簡単なアドベンチャーを作っているのですが、下記のプログラムがうまく動作しません。
#include "stdafx.h"
#include "stdlib.h"
int sentakua(int);
int sentakub(int);
int _tmain(int argc, _TCHAR* argv[/url])
{
int a,b,d,e;
printf("\"敵\"が現れた!\n"
"-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &a);
sentakua;
if(a==1){
printf("-------------------------------------------------\n");
printf("\"敵\"の反撃!\n"
"\"自分\"は 109 のダメージを受けた!\n"
"-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:回復する,4:逃げる)---");
scanf("%d", &b);
}
else if(a==2){
printf("-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &d);
}
else if(a==3){
printf("-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &e);
}
sentakub;
system("pause");
return 0;
}
//-----------------------------------------------------------------------------
int sentakua(int a){
switch(a){
case 1:
printf("-------------------------------------------------\n"
"攻撃が当たった!\n"
"\"敵\"に 55 のダメージを与えた!\n");
break;
case 2:
printf("-------------------------------------------------\n"
"\"敵\"もこちらの様子を伺っているようだ。\n");
break;
case 3:
printf("-------------------------------------------------\n"
"しかし、\"敵\"に回り込まれてしまった!\n");
break;
default:
printf("-------------------------------------------------\n"
"間違った選択をする事は\"死\"を意味します。\n");
return 0;
}
return 0;
}
int sentakub(int b){
switch(b){
case 1:
printf("-------------------------------------------------\n"
"\"敵\"にクリティカルヒット!\n"
"\"敵\"に 126 のダメージを与えた!!\n");
break;
case 2:
printf("-------------------------------------------------\n"
"\"敵\"はキズを舐めてダメージを回復した!\n");
break;
case 3:
printf("-------------------------------------------------\n"
"\"自分\"は手持ちの薬草を使った!\n"
"HPを 68 回復した!\n");
break;
case 4:
printf("-------------------------------------------------\n"
"うまく逃げ切れた!\n"
"---END---\n");
system("pause");
return 0;
default:
printf("-------------------------------------------------\n"
"間違った選択をする事は\"死\"を意味します。\n");
system("pause");
return 0;
}
return 0;
}
最初に 1 を選択すると、 sentakua はきちんと動作するのですが、2回目の 1 を選択すると sentakub がうまく動作しません。
どうすれば sentakub がうまく動作するのか教えて頂けると助かります。
現在、選択した数字によって展開が分岐する簡単なアドベンチャーを作っているのですが、下記のプログラムがうまく動作しません。
#include "stdafx.h"
#include "stdlib.h"
int sentakua(int);
int sentakub(int);
int _tmain(int argc, _TCHAR* argv[/url])
{
int a,b,d,e;
printf("\"敵\"が現れた!\n"
"-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &a);
sentakua;
if(a==1){
printf("-------------------------------------------------\n");
printf("\"敵\"の反撃!\n"
"\"自分\"は 109 のダメージを受けた!\n"
"-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:回復する,4:逃げる)---");
scanf("%d", &b);
}
else if(a==2){
printf("-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &d);
}
else if(a==3){
printf("-------------------------------------------------\n"
"どうしますか?\n"
"(1:攻撃する,2:様子を伺う,3:逃げる)---");
scanf("%d", &e);
}
sentakub;
system("pause");
return 0;
}
//-----------------------------------------------------------------------------
int sentakua(int a){
switch(a){
case 1:
printf("-------------------------------------------------\n"
"攻撃が当たった!\n"
"\"敵\"に 55 のダメージを与えた!\n");
break;
case 2:
printf("-------------------------------------------------\n"
"\"敵\"もこちらの様子を伺っているようだ。\n");
break;
case 3:
printf("-------------------------------------------------\n"
"しかし、\"敵\"に回り込まれてしまった!\n");
break;
default:
printf("-------------------------------------------------\n"
"間違った選択をする事は\"死\"を意味します。\n");
return 0;
}
return 0;
}
int sentakub(int b){
switch(b){
case 1:
printf("-------------------------------------------------\n"
"\"敵\"にクリティカルヒット!\n"
"\"敵\"に 126 のダメージを与えた!!\n");
break;
case 2:
printf("-------------------------------------------------\n"
"\"敵\"はキズを舐めてダメージを回復した!\n");
break;
case 3:
printf("-------------------------------------------------\n"
"\"自分\"は手持ちの薬草を使った!\n"
"HPを 68 回復した!\n");
break;
case 4:
printf("-------------------------------------------------\n"
"うまく逃げ切れた!\n"
"---END---\n");
system("pause");
return 0;
default:
printf("-------------------------------------------------\n"
"間違った選択をする事は\"死\"を意味します。\n");
system("pause");
return 0;
}
return 0;
}
最初に 1 を選択すると、 sentakua はきちんと動作するのですが、2回目の 1 を選択すると sentakub がうまく動作しません。
どうすれば sentakub がうまく動作するのか教えて頂けると助かります。