Switch: Difference between revisions
Jump to navigation
Jump to search
Hendricks266 (talk | contribs) No edit summary |
CraigFatman (talk | contribs) No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
The '''switch''' statement in | The '''switch''' statement in CON is similar to that in C. | ||
switch <gamevar> | switch <gamevar> | ||
case <constant> | case <constant> | ||
<do something> | <do something> | ||
break | |||
case <constant> | case <constant> | ||
<do something> | <do something> | ||
break | break | ||
[[ | default | ||
<do something> | |||
break | |||
endswitch | |||
The '''case''' keyword works like an [[ifvare]] statement, and '''default''' operates on every possibility that is ''not'' specified by a case statement. Each case block must be terminated with a '''[[break]]''' statement. | |||
Caution: Nested switches do not work because of the way the CON compiler compiles them. A workaround is to put the nested switch in a separate state, and call that state from inside the first switch. | |||
Also, adding extra [[break]] statements inside a case argument will cause a lot of errors. Again, the workaround is to put the commands that need to be separated in another state, along with the break. | |||
See: [http://www.cplusplus.com/doc/tutorial/control/ Control Structures @ C++ Documentation] | |||
[[Category:EDuke commands]] | [[Category:EDuke commands]] |
Revision as of 12:23, 20 February 2012
The switch statement in CON is similar to that in C.
switch <gamevar> case <constant> <do something> break case <constant> <do something> break default <do something> break endswitch
The case keyword works like an ifvare statement, and default operates on every possibility that is not specified by a case statement. Each case block must be terminated with a break statement.
Caution: Nested switches do not work because of the way the CON compiler compiles them. A workaround is to put the nested switch in a separate state, and call that state from inside the first switch.
Also, adding extra break statements inside a case argument will cause a lot of errors. Again, the workaround is to put the commands that need to be separated in another state, along with the break.