/* Colourful by Nava Whiteford */
/* For Frobnicate issue 4      */
/* Just adds some colour and messes things up a bit :-) */

int colour, antx=500, anty=500, heading=3, irr, end, done, key;
#include <roslib.h>
#define s 10
#define halfs 5

main()
{
  os_mode(28);
  for(;end==0;)
  {
    colour=os_point(antx+halfs,anty+halfs);
    if(colour==29) colour=28;
    if(colour==60) colour=59;
    colour++;
    if(colour<30) {os_gcol(0,colour+30); os_rectanglefill(antx, anty, s, s);}
    if(colour>30) {os_gcol(0,colour-30); os_rectanglefill(antx, anty, s, s);}


    if(colour<30 & heading==0 & done==0){antx=antx+s; heading=1; done=100;}
    if(colour>30 & heading==0 & done==0){antx=antx-s; heading=3; done=100;}
    if(colour<30 & heading==1 & done==0){anty=anty-s; heading=2; done=100;}
    if(colour>30 & heading==1 & done==0){anty=anty+s; heading=0; done=100;}
    if(colour<30 & heading==2 & done==0){antx=antx-s; heading=3; done=100;}
    if(colour>30 & heading==2 & done==0){antx=antx+s; heading=1; done=100;}
    if(colour<30 & heading==3 & done==0){anty=anty+s; heading=0; done=100;}
    if(colour>30 & heading==3 & done==0){anty=anty-s; heading=2; done=100;}
    done=0;

    irr++;
    key=os_inkey(0);
    if(key==113) end=1;
  }
}
