NAME switch SYNTAX switch (expr) statement; DESCRIPTION Branch to the case label in statement that matches expr. If no matching case label is found branch to the default label in statement. A case label has the form case expr_n : where expr_n must be constant, or the form case expr_n1 .. expr_n2 : where expr_n1 and expr_n2 must be numeric constants. Either all case labels have to be strings or all have to be numeric. Only 0 is special: it is allowed in a switch statement where all other labels are strings. A default label has the form default : The default label defaults to the end of statement if not given explicitly. Whenever a 'break' statement is executed inside 'statement' a branch to the end of the switch statement is performed. EXAMPLE Typical usage: switch(random(100)) { case 0 .. 22 : write("Nothing happens"); break; case 23 .. 27 : write("You are surrounded by a golden glow"); this_player()->heal_self(random(3)); break; case 28 .. 32 : write("The water was poisoned!\n"); this_player()->add_exp(this_player()->hit_player(random(4))); break; case 33 : write("You hear a voice whispering: "+random_hint()); /* fall through */ case 34 : write("While you didn't paid attention, a water demon snatches\n\ a coin out of your purse!\n"); this_player()->add_money(-1); break; default : write "You hear some strange noises\n"; break; case 42 : return; case 99 : write("It tastes good.\n"; }
Help topics available:
You are guest number 122 since February 2020.
This file was last modified: June 2000.