Well since your code doesn't compile in a meaningful way, here is an example of using polymorphism to solve this problem:
Strict Type Gun Field name:String Method New() name = "an unspecified gun" EndMethod EndType Type MP5 Extends Gun Method New() name = "an awesome H&K MP5" EndMethod EndType Type UMP Extends Gun Method New() name = "a worthless POS" EndMethod EndType Local weap:String While weap.toLower() <> "quit" Print "Type 'quit' to quit" weap = Input ("Which weapon, MP5 or UMP? ") Local MyGun:Gun Select Weap.toLower() Case "mp5" MyGun = New MP5; Case "ump" MyGun = New UMP; Default MyGun = New Gun; EndSelect Print "You chose "+MyGun.name endwhile End