Public feed #379143

Unnamed

public text v1 · immutable
Raw Edit
·published 2007-03-03 00:18 UTC
rendered paste body
   procedure Put(Snake : in Snake_Type;
                 Direction : in Integer) is

      Temp : Snake_Type := Snake;
      TempX : Integer := X_Var;
      TempY : Integer := Y_Var;

   begin

      Set_Colours(Green, Black);
      Put("%");
      loop
         case Direction is
            when 1 =>
               TempX := TempX + 1;
               Goto_XY(TempX, TempY);
               Put(Temp.Data);
               TempX := TempX - 1;
            when 2 =>
               TempX := TempX - 1;
               Goto_XY(TempX, TempY);
               Put(Temp.Data);
               TempX := TempX + 1 ;
            when 3 =>
               TempY := TempY + 1;
               Goto_XY(TempX, TempY);
               Put(Temp.Data);
               TempY := TempY - 1;
            when 4 =>
               TempY := TempY - 1;
               Goto_XY(TempX, TempY);
               Put(Temp.Data);
               TempY := TempY + 1;
            when others =>
               exit;
         end case;

         Temp := Temp.Next;

         exit when Empty(Temp);

      end loop;
      Goto_XY(1, 1);

   end Put;