import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class TowersOfHanoi extends Applet
             implements ActionListener {
   
	Label prompt1;     
	TextField input1;
	TextArea Output;
	int NumberOfDisks;
  
   public void init()
   {
      prompt1 = new Label( "Enter the number of Disks" );
      add( prompt1 );  

      input1 = new TextField( 10 );
      input1.addActionListener( this );
      add( input1 );
	  
	  Output = new TextArea(10,30);
	  add(Output);
   }


	   
   public void actionPerformed( ActionEvent e )
   {   
      NumberOfDisks = Integer.parseInt( input1.getText() );
	  input1.setText("");
	  Output.setText("");
	  DoTowerOfHanoi(1, 2 ,3 ,NumberOfDisks);
   }

   
   public void DoTowerOfHanoi(int Original, int Destination, int Free, int NumDisks)
   {
		if (NumDisks == 1) 
		{
			Output.append("Move disk 1 from tower " + Original + " to tower " + Destination + "\n");
			return;
		}
		
		DoTowerOfHanoi(Original, Free, Destination, NumDisks - 1);
		Output.append("Move disk " + NumDisks + " from tower " + Original + " to tower " + Destination + "\n");
		DoTowerOfHanoi(Free, Destination, Original, NumDisks - 1);
		return; 
   }
   
}
