アットウィキロゴ
ProgramingTips
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

ProgramingTips

switch文

最終更新:

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

C言語>switch文

受け取った値によって条件分岐をするものです。
ゲームシーンの切替等に利用されます
数値しか受け取れませんが、ゲームを作る上で
かなり便利です。

使用方法

switch(変数)
{
	case 0:
	{
		処理
	}

	case 1:
	{
		処理
	}

      …

	default:
	{
		処理
	}
}

例文

//================================================
//include
//================================================
#include <stdio.h>
//================================================
//メイン関数
//================================================
int main(void)
{ 
	int Key = 0;
	
	[[printf]]("モンスターが現れた!どうする?\n");
	printf("0:戦う\n");
	printf("1:逃げる\n");
	printf("2:何もしない\n");
	
	[[scanf]]("%d", &Key);
	
	switch(Key)
	{
		case 0:
		{
			printf("モンスターとの戦闘に突入!\n");
			break;
		}

		case 1:
		{
			printf("主人公はうまく逃げ出した\n");
			break;
		}
		
		case 2:
		{
			printf("モンスターの攻撃\n");
			printf("主人公はやられた\n");
			printf("GAME OVER\n");
			break;
		}
		
		default:
		{
			printf("認識されていない行動です\n");
			break;
		}
	}
	
	return 0;
}

実行結果


解説

Keyの値によって表示させる文を変えています。
switch(Key)
0の場合は戦いのメッセージが
case 0:
{
	printf("モンスターとの戦闘に突入!\n");
	break;
}
1の場合は逃げのメッセージが
case 1:
{
	printf("主人公はうまく逃げ出した\n");
	break;
}

2の場合は何もしない時のメッセージが表示されます。
case 2:
{
	printf("モンスターの攻撃\n");
 	printf("主人公はやられた\n");
	printf("GAME OVER\n");
	break;
}

また、その他の場合(default)は認識されていないと表示されます
default:
{
	printf("認識されていない行動です\n");
	break;
}
switch文はif-else文で、書き直せる処理で、
この場合だったら、
case 0:
if(Key == 0)
と書き直せますし、
default
else
で書き直すことができます。

<C言語に戻る

タグ:

+ タグ編集
  • タグ:
添付ファイル
記事メニュー
最近更新されたスレッド
ウィキ募集バナー