アプリ版:「スタンプのみでお礼する」機能のリリースについて

初歩的な質問ですいません
下のようなswitch文(チェーンコードのプログラム)で、コンパイルすると、
コントロールはひとつのcaseラベル('case 0~7:')から別のラベルへ流れ落ちることはできません。
というコンパイルエラーがでます。
continueをbreakに変えてもだめでした。
よろしくお願いします。
switch (vec)
{
case 3:
if (data[x,y + 1] == 0 && data[x - 1,y + 1] == 1)
{
x = x - 1; y = y + 1; list.Add(1); l++; vec = 0; continue;
}
case 4:
if (data[x - 1,y + 1] == 0 && data[x - 1,y] == 1)
{
x = x - 1; y = y + 0; list.Add(2); l++; vec = 1; continue;
}
case 5:
if (data[x - 1,y] == 0 && data[x - 1,y - 1] == 1)
{
x = x - 1; y = y - 1; list.Add(3); l++; vec = 2; continue;
}
case 6:
if (data[x - 1,y - 1] == 0 && data[x,y - 1] == 1)
{
x = x + 0; y = y - 1; list.Add(4); l++; vec = 3; continue;
}
case 7:
if (data[x,y - 1] == 0 && data[x + 1,y - 1] == 1)
{
x = x + 1; y = y - 1; list.Add(5); l++; vec = 4; continue;
}
case 0:
if (data[x + 1,y - 1] == 0 && data[x + 1,y] == 1)
{
x = x + 1; y = y + 0; list.Add(6); l++; vec = 5; continue;
}
case 1:
if (data[x + 1,y] == 0 && data[x + 1,y + 1] == 1)
{
x = x + 1; y = y + 1; list.Add(7); l++; vec = 6; continue;
}
case 2:
if (data[x + 1,y + 1] == 0 && data[x,y + 1] == 1)
{
x = x + 0; y = y + 1; list.Add(8); l++; vec = 7; continue;
}
vec = 3;
}

A 回答 (1件)

breakはif文の外側では?



switch (vec)
{
case 3:
if (data[x,y + 1] == 0 && data[x - 1,y + 1] == 1)
{
x = x - 1; y = y + 1; list.Add(1); l++; vec = 0;
}
break; //ここでBreak;

case 4:

省略

}
    • good
    • 0
この回答へのお礼

なんて単純なミスを・・・
ありがとうございます

お礼日時:2009/12/16 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!