Program Solution

Checkers

from cs1graphics import *

screenSize = int(raw_input('What screen size? '))
numSquares = int (raw_input('What value of n? '))

unitSize = screenSize/(numSquares+2.0)
paper = Canvas(screenSize, screenSize, 'tan', 'Checkers')
paper.setAutoRefresh(False)

for row in range(numSquares):
  for col in range(numSquares):
    s = Square(unitSize)
    s.setDepth(60)
    xCenter = unitSize*(col+1.5)
    yCenter = unitSize*(row+1.5)
    s.move(xCenter, yCenter)
    if row % 2 == col % 2:                    # equal parity
      s.setFillColor('red')
      s.setBorderColor('red')
    else:
      s.setFillColor('black')
      if row <= 2 or row >= numSquares-3:     # place checker
        c = Circle(unitSize/2.5)
        c.move(unitSize*(xCenter, yCenter))   # same center as square
        if row <= 2:
          c.setFillColor('yellow')
        else:
          c.setFillColor('green')
        paper.add(c)
    paper.add(s)

paper.refresh()

Last modified: Saturday, 27 February 2010