首页 > 解决方案 > 在python中使用stddraw-module从单击的单元格中绘制网格并制作“二进制”二维数组

问题描述

我想绘制一个网格并将其显示给用户,就像这里的网格:

在此处输入图像描述

这是使用此代码生成的:

def draw_canvas(x,y):
    # get width and height of the screen
    width, height = pygame.display.Info().current_w, pygame.display.Info().current_h
    # make it full screen
    stddraw.setCanvasSize(width, height)
    # set x and y scale  (add a 10% margin)
    stddraw.setXscale(-(x/10), x+(x/10))
    stddraw.setYscale(-(y/10), y+(y/10))
    # draw grid
    for r in range(y):
        for c in range(x):
            stddraw.setPenRadius(0.001)
            stddraw.rectangle(c, r, 1, 1)
    
    stddraw.show()

现在我希望有可能单击单元格并返回一个“二进制”数组(单击它的位置为 1,未单击的位置为 0)。我知道有一些功能,比如hasNextKeyTyped()nextKeyTyped()- 但我不确定如何使用它们,如何确定单元格,用户点击以及如何结束用户的输入。

非常感谢您的任何建议:)!!

标签: pythonarraysgridstddraw

解决方案


推荐阅读