#include <stdlib.h>
#include <time.h>

#include "game.h"
#include "game_aux.h"
#include "game_tools.h"

int main(int argc, char* argv[]) {
  if (argc != 7 && argc != 8) {
    printf(
        "Usage ./game_random <nb_rows> <nb_cols> <wrapping> <nb_empty> "
        "<nb_extra> <shuffle> [<filename>]\n");
    return 1;
  }
  // Initializes the pseudo-random number generator.
  srand(time(NULL));

  uint nb_rows = atoi(argv[1]);
  uint nb_cols = atoi(argv[2]);
  bool wrapping = atoi(argv[3]);
  uint nb_empty = atoi(argv[4]);
  uint nb_extra = atoi(argv[5]);
  bool shuffle = atoi(argv[6]);

  game g = game_random(nb_rows, nb_cols, wrapping, nb_empty, nb_extra);
  if (shuffle == 1) {
    game_shuffle_orientation(g);
  }
  printf(
      "nb_rows,=%d nb_cols=%d wrapping=%d \nnb_empty=%d nb_extra=%d, "
      "shuffle=%d\n",
      nb_rows, nb_cols, wrapping, nb_empty, nb_extra, shuffle);
  game_print(g);

  if (argc == 8) {
    game_save(g, argv[7]);
  }

  game_delete(g);
  return 0;
}