I'm getting this error after adding the if
statements on the bottom of my code:
UnboundLocalError: local variable 'n' referenced before assignment
Any ideas what is wrong?
import random
n=input('Write number of spaces you want to be playing on: ')
if n < 3:
print "Gotta be more than 3 mate"
a = input('Would you like to end the program and try again?')
exit()
else:
print"You're playing on %d lines" % n
def DieGame(dieSize,numberDie): # dieSize (6 sides = 6),number of die (in this case,it'll be one
result = 0
value = 0
rounds = 1
while n > 1:
print "Round number " ,rounds
for i in range(0,numberDie): # starting at 0 , number of die
result = random.randint(1,dieSize) #random number, 1 - size of dice(6 in this case)
print("On %d dice/die,you've rolled %d." % (i+1,result))
value += result
print("Value of the roll/s %d of the dice/die is: %d" % (numberDie,value))
if (n - value) > 1: #if I'll get anything else than 1,its okay
print "New position: " ,n-value
if n == 1:
print "You've reached 1 space right before the finish,return back by 1."
n += 1
if (n-value) == 0:
a = input('Congratulations, you made it to the end! Press Enter to close the game.')
exit()
rounds += 1
else:
print "End"
DieGame(6,1)
#-------------------------------------------------------
#Gotta break the loop once I get to 0,or If I was to cross 0 to -1 and less.Can't cross 0.
#If I'll be like 4 spaces from finish and I'll roll 6,I wont be able to move,gotta reach the last space.
#Gotta make it reroll if I roll 1,add rolls to sum and then move forward by that number
#if rolled for example 1+1+1(rerolling) + 3,add the sum together and move by 6.
#if you step on the last space before the finish ,get one space back