====================================================================== (Soft Name) Pan-Iamond Solver Ver2.1 (Archive Name) iamond21.LZH (Copyright) Taniguchi Yukio MXA01205@nifty.ne.jp http://www1.usen.ne.jp/~yuki-ta (O S) Window95 (Release date) 1999/07/11 (Expand) by LHA A> LHA E iamond21(Enter) (Soft Type) Freeware ====================================================================== (Abstract) ( *.box ) "Box file" : : : ( *.inp ) "Piece Input File" : : : inp2pie.exe "Piece Process Program" (MS-DOS) : : : ( *.pie ) "Piece File" : : iamond.exe "Solver Program" (Windows 95) | ( *.ans ) "Answer File" (1) Make a "Box File" which is recorded box figure by any text editor. (2) Make a "Piece Input File" which is reccorded piece figure by any text editor. (3) Convert "Piece Input File(*.inp)" to "Piece File(*.pie)" by inp2pie. (4) Read "Box File(*.box)" and "Piece File(*.pie)" ,search answers and record the result in "Answer File (*.ans)" by Solver Program (iamond.exe). (File Specifications) 1 Box File (*.box) The box figure is recorded in Box File. The next text is a sample of Box File for "Hexiamond". 88888888888888888888888888888888888888888888888888888888 88888888888088888888888888888888888888888888888888888888 88888888880008888888888888888888888888888888888888888888 88888888800000888888888888888888888888888888888888888888 88888888000000088888888888888888888888888888888888888888 88888880000000008888888888888888888888888888888888888888 88888800000000000888888888888888888888888888888888888888 88888800000000000888888888888888888888888888888888888888 88888880000000008888888888888888888888888888888888888888 88888888000000088888888888888888888888888888888888888888 88888888800000888888888888888888888888888888888888888888 88888888880008888888888888888888888888888888888888888888 88888888888088888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 88888888888888888888888888888888888888888888888888888888 The Box File is made of letters in 56 column and 32 lines. Each letter responds unit triangle which make up the box. Set the origin (0, 0) at left top corner and X axis to right and Y axis to down. The unit triangel is turned-up in case X + Y = even and turnen- down in case X + Y = odd. * *** : X + Y = even ***** ***** *** * : X + Y = odd The letter must be "0" - "8". This number indicates "wall figure" of box. The code will be refered in next table. ・ Space Piece can be put here. * Wall Piece can't be put here. ---------------------------------------------------------------- Number 0 1 2 3 Space Left Left Up Right Up ---------------------------------------------------------------- In case of turned-up ・ * * * ・・・ **・ *** *** ・・・・・ ***・・ **・・・ ・・・** ・・・・・・・ ****・・・ *・・・・・・ ・・・・・・* ---------------------------------------------------------------- In case of turned-down ・・・・・・・ ****・・・ ******* ******* ・・・・・ ***・・ ***・・ ・・*** ・・・ **・ ・・・ ・・・ ・ * ・ ・ ---------------------------------------------------------------- ---------------------------------------------------------------- Number 4 5 6 7 No use Left down Right Down Right ---------------------------------------------------------------- In case of turned-up ・ ・ * ・・・ ・・・ ・** ***・・ ・・*** ・・*** ******* ******* ・・・**** ---------------------------------------------------------------- In case of turned-down *・・・・・・ ・・・・・・* ・・・**** **・・・ ・・・** ・・*** *** *** ・** * * * ---------------------------------------------------------------- The same number is used to the same-wall-side regardress of triangle direction. Please notice that letter "4" isn't used. The frame of box must be filled by "8". 2 Piece Input File (*.inp) The Piece Figure is recorded in the Piece Input File. The next text is a sample of Piece Input File for "Hexiamond". iNumPie= 12 Total number of pieces ***0************************ Initiator (Next is for No.0 piece) ***sym.mirror 1 Mirror Symmetry ***sym.180deg 0 180 deg. rotation symmetry ***sym.120deg 0 120 deg. rotation symmetry 0 0 8 0 0 0 0 0 0 0 0 0 0 Piece figure 0 8 8 8 0 0 0 0 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 0 0 0 A 0 0 0 0 0 0 0 0 0 0 0 0 0 AAA 0 0 0 0 0 0 0 0 0 0 0 0 0 BCCCD 0 0 0 0 0 0 0 0 0 0 0 0 0 BBBCDDD 0 0 0 0 0 0 0 0 0 0 0 0 0 EEE FFF 0 0 0 0 0 0 0 0 0 0 0 0 0 E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ***1************************ Initiator (Next is for No.1 piece) ***sym.mirror 0 ***sym.180deg 0 ***sym.120deg 0 8 0 8 0 0 0 0 0 0 0 0 0 0 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (abbereviate) - Mirror symmetry "1" : symmetry "0": No symmetry - 180 deg. symmetry (same to above) - 120 deg. symmetry (same to above) - Piece figure Recorded by 13 * 13 letters. Each letter indicates unit triangles. Set the origin (0, 0) at left top corner and X axis to right and Y axis to down. The unit triangel is turned-up in case X + Y = even and turnen-down in case X + Y = odd. Each letter must be "0" - "8". This number indicates the solid part of piece. This code is same as the table used for Box File. 3 Answer File The answers are recorded in Answer File. The next text is a sample of Answer File for "Hexiamond". ***0*** Initiator( Next is No. 0 answer) 0 (11 1) 0 No. 0 piece 1 ( 9 3) 0 No. 1 piece 2 (15 5) 6 No. 2 piece 3 (16 6) 0 : 4 ( 8 4) 0 5 (11 7) 10 6 (13 3) 0 7 ( 6 6) 11 8 (11 9) 0 9 ( 8 7) 4 10 (11 5) 3 : 11 ( 9 10) 0 No.11 piece ***1*** Initiator (Next is no.1 answer) 0 (11 1) 0 1 ( 9 3) 0 2 (15 5) 6 3 (16 6) 0 4 ( 8 4) 0 5 (11 7) 10 (abbereviate) 1 line indicates 1 piece. 0 (11 1) 0 / / / / Piece number / / / X / / Y / Direction - Piece number the number used in Piece Input File(*.inp) - X, Y X, Y cordinate of the top and left unit triangle in the piece. - Direction The Direction of piece as coded bellow. --------------------------------------------------------------- value Direction --------------------------------------------------------------- 0 "Original direction". This is direction recorded in Piece Input File. 1 The direction rotated 60deg CW of original direction. 2 The direction rotated 120deg CW of original direction. 3 The direction rotated 180deg CW of original direction. 4 The direction rotated 240deg CW of original direction. 5 The direction rotated 300deg CW of original direction. 6 "Original Inverse direction". This is direction mirror- turned with vertical axis. 7 The direction rotated 60deg CW of original inverse direction. 8 The direction rotated 120deg CW of original inverse direction. 9 The direction rotated 180deg CW of original inverse direction. 10 The direction rotated 240deg CW of original inverse direction. 11 The direction rotated 300deg CW of original inverse direction. --------------------------------------------------------------- (How to use) 1 Make Box File(*.box) in above specificaton. 2 Make Piece Input File(*.inp) in above specification. 3 Convert Piece Input File(*.inp) to Piece File(*.pie) by Piece Process Program (inp2pie.exe). (1) Open MS-DOS Window and move to the directory which contains inp2pie.exe file. (2) Run the Piece Process Program. >inp2pie (Enter) (3) Input the name of Piece Input File. *** INPUT File Name (*.inp) = hexia.inp(Enter) (4) Input the name of Piece File. *** PIECE File Name (*.pie) = hexia.pie(Enter) This program makes Piece File. 4 Search answer (1) Run the Solver Program. --> A main dialog box will be opened. (2) Input Box File - Push "Read (*.box)" button. --> A dialog box will be opened. - Select Box File(*.box) in this dialog box. --> A windows will be opened and box figure will be displayed. - Confirm the box figure. - Close the window by click "Exit" button. (3) Input Piece File - Check "Piece Sorting" field. If this is checked, pieces will be sorted in order of drafter's number with the piece. In that case more complicated pieces will be put earlier in the box at searching. - Push "Read (*.pie)" button. --> A dialog box will be opend. - Select Piece File(*.pie) in this dialog box. --> A window will be opened and piece figure will be displayed. - Confirm the figure of all pieces. - Close the window by click "Exit" button. (4) Prapare for solving answer Check next fields in the main dialog box. - "from the last time" If this is checked, the caluculation will start from the progress status of the last calcuration. Read (*.end) file by click "Read (*.sta)" button. Don't check in case of the first calcuration. - "Island check" If this is checkd, the solver don't make the "pond" which can't be put any piece. Input the area of pond by "drafters number". - "30 deg check" If this is checked, the solver don't make space with 30 deg. - Push "Set (*.end)" button and select the (*.end) file which will be recorded the progress status of the last calcuration. (5) Search answer - Push "Search" button. --> A dialog box will be opened. - Input the Answer File Name in this dialog box. --> A window for searching will be opened. - Click "Search" menu. --> Solver will start searching. - Click "Mon.On/Off" menu. --> Solve will stop display of pieces but don't stop calcuration. Diaplay and no-display will be changed by click. The solver will display the number of answer if find new answer. - Click "Stop" for stop. When the searching will be finished or "Stop" is clicked, the solver will display next text and stop calcuration. END of SEARCH In this time, the answer will be recorded to the Answer File. And progress status of calcuration will be recorded in the (*.end) file. This file can be used for (*.sta) file for next search. - Click "Exit" menu then the window for searching will be closes. (6) Display answers - Push "Display Answer" button. --> A dialog box will be opened. - Input Answer File(*.ans) Name in this dialog box. --> A window for displaying answer will be opend, and answer will be displayed. - Confirm the answers. - Click "Exit" menu, then the window for displaying answer will be closed. (7) End - At last, click "End" button in main dialog box and finish the program. (notice) (1) Method for quick search - In the box file, set the long axis vertical. - In the box file, set the most complicated edge upside, and 2nd complicated edge to left side. (2) File size The size of answer file is : 17 * (Number of pieces) * (Number of answers) bytes (3) About symmetry The symmetry of box can't be checked by this solver. The same answers will be double-counted if the box is symmetrical. End