On 25/08/11 08:51, Robert Sjoblom wrote:
If I roll two sixes (on the initial roll) and below the target number (in total), it's a failure. If I roll two sixes (on the initial roll) and above the target number (in total), it's a critical failure. If I roll two ones (on the initial roll) and above the target number (in total), it's a success. If I roll two ones (on the initial roll) and below the target number (in total), it's a critical success. If I roll below the target number (in total), it's a success. If I roll above the target number (in total), it's a failure. I've written a horrible-looking piece of code to solve this, but I'm sure there are better ways to structure it: #assuming target number 15 roll = (result, initial_mins, initial_max)
I'd forget the tuple and just use the names, it is more readable that way...
if roll[0]> 15: if roll[1]>= 2: print("Success") elif roll[2]>= 2: print("Critical failure!")
if result > 15: if initial_mins >= 2:... elif initial_max >=2:... But otherwise it seems to reflect the rules as you've written them... -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor