File HANOI.FC (FOCAL source file)

Directory of image this file is from
This file as a plain text file

()0SHR<C-PS/8 FOCAL, 1971?MR,BBC     FROM 	PROGRAMMING LANGUAGES	?MJ
BD?MB7B(F I=1,N;S SS(I)=I?MCAB2S SO=1;S SI=3?MN?B<S NO=N;S NI=N;S I=0?MI0CUA "AUTO OR MANUAL
 ",A,!?MC.DTI [SS<(SO-1)*N+NO-1>]ER,2.95?MDED^S I=I+1;S NO(I)=NO;S SO(I)=SO;S SI(I)=SI?MD]D2S SI=6-SO-SI;S NO=NO-1;D 3;S TE(I)=NI;D 2?MD.D<S SI=SI(I);S NO=NO+1;D 3;D 6?MEAEFS SO=6-SO-SI;S NO=TE(I);D 3;D 2?MEXEPS SI=SI(I);S SO=SO(I);S NO=NO(I);S I=I-1?ME\E
R?ME$E
D 3;D 6;R?ME*FJS NI=N?MFBFTI [SS((SI-1)*N+NI)]ER,3.3;S NI=NI-1;G 3.2?MO"F^R?MFLJ^S A=0?MFZJ(F I=1,N*2;S A=A+SS(I)?MF,J2I (-A) 5.1;T !"WELL DONE!"!;Q?MF7LJS DO=(SO-1)*N+NO?MGBLTS DI=(SI-1)*N+NI?MGML^S SS(DI)=SS(DO)?MGUL(S SS(DO)=0?MGL2I (MOVE)ER,6.7;D 23;R
MJNMFT !%2,
SO,   NO,!SI,   NI,
!?MG;.TT !!!!;R?MHV.^I [K-15+SS(J)*2]23.6;I (-K+15+SS(J)*2)23.6;T "?MH4.<I (K-35+SS(J+N)*2) 23.7;I (-K+35+SS(J+N)*2) 23.7;T "?MIT/FI (K-55+SS(J+N+N)*2) 23.8;I (-K+55+SS(J+N+N)*2)23.77;T "?MI\/MS K=100;R?M/PT " "?MB+B^A "NO. OF DISKS
 "N,!?MC]CZI (FABS(A-0MANUAL)),5.1;D 2;T !!"DONE !",!!;Q?MI"B]E?MG4.JF J=1,N;T !;F K=0,70;D 23.3?MJ?BEC     THIS PROGRAM WORKS WITH THE TOWERS OF HANOI PROBLEM.?MK^BFC YOU ARE GIVEN THREE TOWERS WITH VARIOUS SIZED DISCS ON?MK=BGC ONE OF THEM.  THE OBJECT 
S TO PLACE ALL THE DISCS ON?ML]BHC ANOTHER TOWER ON AT A TIME, WITH THE STIPULATION THAT A?ML=BIC LARGER DISC MAY NEVER BE ON TOP OF A SMALLER ONE.  THIS?MM\BJC PROGRAM IS GOOD FOR ANY NUMBER OF DISCS AND CAN BE RUN?MM=BKC EITHER IN MANUAL (YOU TELL IT WH
RE TO MOVE) OR AUTOMATIC?MN^BLC MODE.  IT WILL ALSO EXPLAIN ITS MOVES OR DRAW THE FOR YOU,?MPIBMC DEPENDING ON HOW YOU ANSWER THE 	MOVES OR PLOTS	 QUESTION.?MOPCFA "MOVES OR PLOTS
 ",MOVE,!?MCNCPI (FABS(MO-0MOVES)) ,1.85;D 23?MO4JJA "OUT-DISC: ",NO,"TOWER: ",SO?MFFJTA !"IN-DISC: ",NI,"TOWER: ",SI,!;D 6?MP)BNC ** OUT DISC IS THE DISC (1 ON TOP) THAT YOU WANT TO MOVE?MQIBOC ** IN DISC IS THE POSITION (1 ON TOP) WHERE YOU MOVE TO?MQ*B
C ** OUT TOWER IS THE TOWER (1 ON LEFT) FROM WHICH YOU MOVE?MRGBQC ** IN TOWER IS THE TOWER (3 ON RIGHT) YOU MOVE TO?MR)BRC THIS PROGRAM ASSUMES NO CHEATING, AND DOES NOT CHECK FOR IT.?MJJBS?MB(BCC     LAST CHANGE: 8/7/71?MBTBAC     HANOI BY DEC?M3?L S DT
2:HANOI;L C PLOTER?M?BCC     LAST CHANGE: 8/7/71?     STARTING LOCATION: 1.3?3.87?M.87?OCAL WITH FEATUR7IOS"M&J7JOM2 	D3S	MS	S2/	K+CCK3M;O3I?T3R> +UCT+OCN7EKRO7R2JVIR7R6JT"=&.*I>I3T7E7PKO7A	R2MRJ3I7S7IOS.,BI2I./3I/C6 OU3R> +UCT+OCF7CKO+E" 3S7O3E	T7MOE")*M
I?IF*M2I?NP*M2I	C/FF "0*M2I7J3S& 6 OUR*M.IF1"M&J3TSA. 
X.7B06IJ/3EWS3T6 3O	N7TKO2 ?P7ISNE7R2JRI

Note: Lines longer than 256 characters were wrapped



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search