From Game Editor
A switch statement is a special instance of an if else if else ... statement.
A switch statement takes the following form:
switch ( expression )
{
case constant_1:
statements;
case constant_2:
statements;
...
default :
statements;
}
Example:
char keydown = getKey();
switch ( keydown )
{
case 'w':
y -= 5;
break;
case 'a':
x -= 5;
break;
case 's':
y += 5;
break;
case 'd':
x += 5;
break;
default:
PlaySound("annoying-beep.wav", 1, 1);
}
The default condition is optional.
The break statement in each case condition is optional, but recommended. If you do not include a break for each case, each subsequent case would also be executed.
Bad example:
char keydown = getKey();
switch ( keydown )
{
case 'w':
y -= 5;
case 'a':
x -= 5;
case 's':
y += 5;
case 'd':
x += 5;
default:
PlaySound("annoying-beep.wav", 1, 1);
}
In the bad example, if keydown has the value 'w', then y will decremented by 5, x will be decremented by 5, y will incremented by 5, x will be incremented by 5 and the annoying sound will be played.
A switch statement may be easier to read than nested if statements. The "wasd" movement example might be written like this with if statements:
if ( keydown == 'w' )
{
y -= 5;
}
else if ( keydown == 'a' )
{
x -= 5;
}
else if ( keydown == 's' )
{
y += 5;
}
else if ( keydown == 'd' )
{
x += 5;
}
else
{
PlaySound("annoying-beep.wav", 1, 1);
}
Even though this code is still clear for this simple example, the switch statement is much less to type.

![[]](http://game-editor.com/wiki/skins/blender/open.png)