Program Realization 2 (2IP20), 2006-2007 ======= =========== = The final assignment is done in three installments during weeks 7 through 9 of the term. Second Installment: User Interaction (week 8) ----- ----------- Goal: Implement additional drag-and-drop facilities. Material: Slides of Lectures 7 and 8, drag&drop documentation and tutorial, archive Puzzle2007_A4.zip Plan: Play with demo program, review the slides, documentation and tutorial, study the design of Main.pas, and fill in some missing parts of the software. Step 1: Play with the demo The directory Demo contains a demo executable. Note that the puzzle definition files need to be in the directory ..\Puzzles. Try to drag pieces from the PiecesGrid to the BoxGrid, from the BoxGrid to the PiecesGrid, and from the BoxGrid to the BoxGrid. Look at the various cursors (indicating acceptance or not), and the shape being dragged. Step 2: Review the slides, documentation and tutorial Check that you understand the program requirements, and the drag-and-drop facilities of Delphi. Possibly download the example program explained in Lecture 8. Step 3: Study the design of Main.pas Study the implementation of dragging from PiecesGrid to BoxGrid. Step 4: Fill in some missing parts The holes in Base.pas and PuzzleIO.pas have not changed. (Though the other parts may differ from your version. So you may need to copy your solution for these holes into the new version.) The source file Main.pas is incomplete. It contains some holes marked by //# BEGIN TODO Replace this line by your text. //# END TODO Complete the file to implement dragging from BoxGrid to either the PiecesGrid or the BoxGrid. Do not forget your name, id.nr., and the date at the top. Do not remove the //#-TODO markers themselves. When properly completed, your program should behave as the demo. Third Installment: Automatic Solver (week 9) ----- ----------- To be supplied (End)