Kara walks from left to right and from right to left, alternatively, and "inverts" the current row of the image. The main program is the following:
walkingLeft2Right = 1 while not (kara.treeFront() and (kara.treeLeft() or kara.treeRight())): if walkingLeft2Right: left2right() else: right2left() walkingLeft2Right = not walkingLeft2Right