decision_pt += qs[ opt_qid_pair[1] ]
         if ran_pt <= decision_pt:
             return (opt_qid_pair[0], opt_qid_pair[1])
-    return (None, None)
 
 Q = np.ones([states_dim, actions_dim])
 
     g.dice()
     state_qid = find_state_qid(g.get_shutable(), g.get_diced())
     while not g.is_over():
-        opt, opt_qid = select_option( g.get_options(), Q[state_qid, :] )
-        if opt:
+        options = g.get_options()
+        if len(options) > 0:
+            opt, opt_qid = select_option( options, Q[state_qid, :] )
             old_score = g.get_score()
             g.shut(opt)
             g.dice()