Recent Work, 5/18/2016

The current version of Logic Lights can be found here.


  • Got rudimentary wire segments working.  a wire is now drawn as three segments, kept internally.  Any "middle" segment moves (although this is usually three, for now).  
    • Creating and storing the segments in the wire both work.
    • Selecting a segment works.
    • Moving the segment works.
    • Both the LogicWire() and Segment() classes required work to get to this point.

Problems with Wires:

  • Moving the input or output does not change the input or output segment.
  • Dropping a new LogicElement directly on a terminal does not properly create the wire segments.
  • Clasps don't respond to changes in the wire, and so can be made to float in space.

Other Desiderata with Wires:

  • Want to use is_horizontal() method to draw wires connected to their clasps perpendicularly to the wire they're probing.
  • Want to be able to create additional segments but pulling on the wire ends.
  • Want to automatically make wires go around logic elements when placed.

Despite the problems in the display faced by segments, they have no functional value in the program -- the puzzles are unaffected.