Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.
Backgammon Board - Python Code Bank
Backgammon Board
This is an assignment I did for my programming class. It creates a backgammon board with the size based on input from the user. It requires the cs1graphics module to run. cs1graphics.org
from cs1graphics import *
size = int(raw_input('How many pixels do you want per grid-cell? '))
paper = Canvas(15 * size, 13 * size)
paper.setBackgroundColor('burlywood4')
side1 = Rectangle(6 * size, 11 * size, Point(4 * size, 6 * size + .5 * size))
side1.setFillColor('navajowhite')
side1.setDepth(51)
paper.add(side1)
side2 = Rectangle(6 * size, 11 * size, Point(11 * size, 6 * size + .5 * size))
side2.setFillColor('navajowhite')
side2.setDepth(51)
paper.add(side2)
line = Path(Point(size * 15 /2,0), Point(size * 15 /2,size*13))
line.setBorderWidth(size/10)
paper.add(line)
x = size
y = size * 12
for p in range(24):
point = Polygon(Point(x,y), Point(x + size/2, y - size*5), Point(x + size, y))
text = Text(str(p+1), size/3) # Numbers for each point
if p <= 11:
text.moveTo(x + size/2, y + size/2)
else:
text.moveTo(x + size/2, y - size/2)
paper.add(text)
if p % 2 == 0: #alternates colors
point.setFillColor('darkorange3')
else:
point.setFillColor('tan')
if x == 6 * size and p < 11: #skips over middle bar
x += size
elif x == 8 * size and p > 11:
x -= size
if p < 11: #x shift and y shift for bottom and top rows
x += size
elif p == 11:
y = size
else:
x -= size
point.flip(90)
paper.add(point)
for num,pt,whiteOnTop in [(2,1,True), (5,6,False), (3,8,False), (5,12,True)]:
for p in range(num):
x = pt * size + (.5 * size)
y1 = (size * 12 - (.9*size/2)) - (p * (.9*size)) #two y variables for top and bottom
y2 = (size + (.9*size/2)) + (p * (.9*size))
if pt > 6: # jumps over middle bar
x += size
checker1 = Circle(.9*size/2, Point(x, y1))
checker2 = Circle(.9*size/2, Point(x, y2))
if whiteOnTop == True: #decides colors for both checkers
checker1.setFillColor('black')
checker2.setFillColor('white')
else:
checker1.setFillColor('white')
checker2.setFillColor('black')
checker1.setDepth(1)
checker2.setDepth(1)
paper.add(checker1)
paper.add(checker2)
Comments
Sorry but there are no comments to display