#Tron Game Write a Tron bot! The aim of the game is to make as many moves on a grid as possible without moving onto a space that has already been occupied in the current game. If your bot is unable to make such a move, it loses the round. ##Input: - Your bot will take inputs from command line arguments in the form: - `grid_size_x;grid_size_y;turn_number;no_players;player_id;list_of_previous_xy_coords_per_player` - `list_of_previous_xy_coords_per_player` is a `|` separated nested list, `no_players` elements long containing `xpos_ypos` for each turn, comma separated. - <b>`turn_number` and `player_id` are both 1-indexed</b> Example input for two players: 5;5;2;2;1;1_2,1_3|4_3,3_3 ##Output: - Your bot will output one of `N`,`E`,`S`,`W`, where each point indicates the direction your bot will travel. - <b>If your bot goes outside the grid, it will be removed.</b> (This means it loses) ##The grid: - `(0,0)` is the North-Western boundary - `(xpos,ypos)` is the South-Eastern boundary - These boundaries are inclusive. ##The start of a game: - The controller will choose `no_players` bots to take part in the round. - If for testing purposes you want to make sure your bot is chosen, give it as an argument to the controller - The controller will choose the starting positions, making sure each player is at least `min_distance` apart. - The controller will, for each round, invoke the process for your bot with the correct arguments and receive it's response. ##More on the controller: - If the controller receives `debug` as a command line argument, it will write debugging statements to stdout - If the controller receives `pretty` as a command line argument, it will draw the grid for each round - If the controller receives `pretty-no-colour` as a command line argument, it will draw the grid for each round, without colour (ANSI escapes) - If the controller receives a valid bot name, it will be guaranteed to use it. (Up to `no_players` bots) - You can find the controller Here (no controller yet) ##Tournament structure - Each round, the bot receives a number of points equal to how long it took for that bot to lose. - Each bot will go against each other bot at least once. - At the end, a bot's points are equal to the sum of the points that bot got for each round. ###General rules that I can't find better places for - Your bot may NOT use any file storage - There are no restrictions to the language you use (As long as you can post links on how to install it on linux) - You may enter as many bots as you want ###Bots are not allowed to interact with each other at all nor are they allowed to spawn any other process. ##TL;DR - There are `no_players` each round - The grid is `grid_size` inclusive - If your bot goes into a position that has already been used by a bot, it loses. - If your bot goes outside the grid, it loses - If your bot returns anything outside of `NESW` with an optional trailing newline, it loses. - If your bot takes longer than a second to run consistently, I reserve the right to disqualify it until it gets fixed. ##Results: - Results here ##Sandbox notes: - If anyone can find an input form easily compatible with more languages, I will happily change it (But only before posting to main) - The number of players per match has yet to be chosen. I think 4 is a sensible number - The size of the grid has yet to be chosen. It will be rectangular. - The minimum distance between players at the start has yet to be chosen. It will be at least 2. - The controller has yet to be written.