Нарисуйте сетку и сделайте "двоичный" 2d-массив из нажатых ячеек с помощью stddraw-модуля в python - PullRequest
1 голос
/ 02 августа 2020

Я хотел бы нарисовать сетку и показать ее пользователю, например, вот сетка:

введите описание изображения здесь

Который был сгенерирован с помощью этого кода:

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()

Теперь я хотел бы иметь возможность щелкать по ячейкам и возвращать «двоичный» массив (с единицами, где он был нажат и 0 секунд там, где он не был нажат). Я знаю, что есть такие функции, как hasNextKeyTyped() и nextKeyTyped(). Но я не совсем уверен, как их использовать, как определить ячейку, щелкнул пользователь и как завершить ввод пользователя.

Супер благодарен за любой совет :) !!

...