/* Program to demonstrate storing pictures in a variable-length array */

#include <MyroC.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int
main (void)
{
  printf("Starting program:  ");
  rConnect("/dev/rfcomm0");
  rSetForwardness("fluke-forward");

  printf("program asking Scribbler 2 to take and display pictures\n");

  /* determine how many pictures */
  int numTokens, numPics, i;
  printf("enter number of pictures to be taken:  ");
  numTokens = scanf("%d", &numPics);

  if (numTokens==0 || numPics<0)
    {
      printf("a positive number is required\n");
      return 1;
    }
    
  Picture pics[numPics];
  
  printf("taking %d pictures, while turning left\n", numPics);
  for (i = 0; i < numPics; i++)
    {
      pics[i] = rTakePicture();
      rTurnLeft(0.3, 0.3);
    }

  sleep(1);
  printf("showing pictures in original order\n");
  for (i = 0; i < numPics; i++)
    {
      rDisplayPicture(pics[i], 1.0, "movieFrame");
    }

  sleep(1);
  printf("showing pictures in reverse order\n");
  for (i = numPics-1; i >= 0; i--)
    {
      rDisplayPicture(pics[i], 1.0, "movieFrame");
    }

  printf("Closing connection to robot....");
  rDisconnect();
  printf(" finished.\n\n");

  return 0;
}
 
