Python - 已经绘制了一个游戏板,如何为“边框”着色?

时间:2013-04-09 17:20:48

标签: python python-2.7 zelle-graphics

我创建了一个游戏板:

win = GraphWin ("Gameboard",500,500)
win.setCoords(0.0,0.0,10.0,10.0)
drawBoard(win)
for i in range(10):
    Line(Point(0,i),Point(10,i)).draw(win)
for x in range(10):
    Line(Point(x,0),Point(x,10)).draw(win)

我有一个10x10的网格,其可玩范围将从(2,2)到(9,9)。对于x = 1,x = 10,y = 1或y = 10的任何网格标记,我希望网格的这些部分为黑色并形成边框。我一直在征集谷歌如何做到这一点,但我还没有找到适用的填充选项。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

  

我想我可以用黑色覆盖网格的那些部分   矩形,但我确信这是一个更优雅的解决方案。

更优雅的解决方案可能是将窗口背景设置为黑色,放下一个白色的矩形表示实际游戏区域,然后仅将线应用于该矩形:

from graphics import *

win = GraphWin("Gameboard", 500, 500)
win.setCoords(0, 0, 10, 10)

def drawBoard(window):
    window.setBackground("black")
    rectangle = Rectangle(Point(1, 1), Point(9, 9))
    rectangle.setFill("white")
    rectangle.draw(window)

    for i in range(1, 10):
        Line(Point(1, i), Point(9, i)).draw(window)
    for x in range(1, 10):
        Line(Point(x, 1), Point(x, 9)).draw(window)

drawBoard(win)

win.getMouse()
win.close()

这为您提供了一个8 x 8的电路板,没有绘制单独的边框:

enter image description here