The source code to The Wizard's Castle uses very short variable names of 1 or 2 letters. This keeps the source code size down, which used to be a concern prior to the 1990s. GW-BASIC for example had a 64KB code limit and older variants had 32KB limits. So we're having space, but short variable names makes code reading more challenging. Here is a list of the variables in The Wizard's Castle and their purpose: A = temporary X position variable AV = armor type AH = armor health B = temporary Y position variable BF = book stuck flag BL = blindness flag C = temporary Z position variable DX = dexterity stat GP = gold pieces count HT = Unused (but declared/defined as 0) IQ = intelligence stat L(x) = room array holding the attributes of all 512 game rooms LF = lamp found flag MC = Unused variable referenced once (probably used to be a monster counter) O$ = temporary variable to hold user input O(x) = Orb of Zot location array OF = Orb of Zot found flag OT = stat points remaining count, Q = temporary integer variable used in many ways, such as a genertic iterator Q1 = another temporary integer. One use is for monster's attack damage Q2 = another temporary integer. One use is for monster's health R(x) = Runestaff location array R$(x) = race names RC = player race choice (indexes R$) RF = runestaff found flag SX = player sex choice ST = strength stat T = game turn count TC = treasures found count VF = vendor fighting flag WC = Web counter. Timer for enemies being stuck in a web WV = weapon type (also damage level) X = player X (vertical) location (during init, it's used to set up the castle) Y = player Y (horizontal) location (also used to set up the castle) Y$ = string to print for invalid response (Please answer yes or no) Z = player Z (floor) location (also used to set up the castle) Z$ = temporary string holder used for printing dynamic text lines