In this bit if ((roll_1) && (roll_2) != 0) did you mean if (roll_1 != 0 && roll_2 != 0) ? In the first case it's effectively evaluating whether roll_1 exists (ie is not nil), and that will always be true. Each side of the && is a seperate logic test. So, the if/else test is effectively dependent solely on the value of roll_2. -- Posted via http://www.ruby-forum.com/.