Skip to content

draw-line challenge bug #297

Open
Open
@msm1089

Description

@msm1089

Using the drawline method provided as the solution, it does not handle cases where start_byte != end_byte properly. In end_byte, only the LSB is set.

E.g.

S = BitsScreen()
screen = []
for _ in range(20):
    screen.append(int('00000000', base=2))
S.draw_line(screen, 32, 68, 92)
for row in screen:
    print(f"{row: 09b}")

results in

 00000000
 00000000
 00000000
 00000000
 00000000
 00000000
 00000000
 00000000
 00001111
 11111111
 11111111
 00001000 <---only bit corresponding to x2 = 92 is set
 00000000
 00000000
 00000000
 00000000
 00000000
 00000000
 00000000
 00000000

I have tried to come up with a solution for this but could not. Could anyone provide the correct solution perhaps?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions