|
value - a value to compare against the Select expression value2 (optional) - further values that should run the same branch, comma separated |
|
Starts one branch of a Select block. The code after a Case runs when the Select expression equals one of its values. Cases are tested in order and only the first match runs - there is no fall-through into the next one, so no break statement is needed. Listing several values on one Case is how you handle alternatives that share an outcome: Case 1,3,5,7 catches any of them, which saves repeating the same block for every key that should fire the weapon. Values can be numbers, strings, or Const names - constants make a state machine far more readable than bare numbers. Case compares for equality, so it cannot express a range on its own. The way round it is to open the block with Select True and write full conditions in each Case, since each is then compared against True: Case hull > 75, Case hull > 40, and so on. That turns Select into a tidy ElseIf ladder, and it also lets a single block test more than one variable. If nothing matches, Default runs - or nothing does, if there is no Default. See also: Select, Default, End Select, If, Const. |
; Case Example
; ------------
; Grade every possible dice roll
For roll=1 To 6
Select roll
; Each Case runs its block when the Select value matches
Case 1
Print "Rolled "+roll+": critical miss - you drop your sword!"
; One Case can list several matching values, separated by commas
Case 2,3,4
Print "Rolled "+roll+": a plain hit."
Case 5,6
Print "Rolled "+roll+": critical hit - double damage!"
End Select
Next
Print ""
Print "Press any key to close the example"
WaitKey
End