of course the value of x is 0, after parsing to n you already got a "true" in your or condition, so the second tryparse will never be executed. if you want to make sure both are parseable use an and condition:
if ((Int32.TryParse(number, out n)) && (Int32.TryParse(bulbNumber, out x)))