MultiplayerReversi Visualization

To aid in the development of your submission, we are providing a visualization tool to competitors. The tool is packaged as an executable jar, which can be run either by double clicking it (in windows anyway) or from the command line as "java -jar MultiplayerReversi.jar".

As in previous contests, to use this visualization tool, you should create an application that communicates with the tool via standard in and standard out. Note that this does not effect the way your program should work when you submit it on the TopCoder website. The program that you write for the visualizer should repeatedly read the state of the board, and output two integers representing your return. The board will be formatted as an integer N, followed by the N rows, delimited by spaces, all on one line.

For instance, to use the visualizer, you might implement the following pseudocode, and adapt your solution to use it:
    
main()
    while(true)
        N = nextInt()
        for(i = 0 to N-1)
            board[i] = nextString();
        move = getNextMove(board);
        println(move[0]+" "+move[1]);

Using the visualizer

To use the visualizer, you must have Java 1.5 or greater installed. To run the visualizer, you can execute the command "java -jar MultiplayerReversi.jar". This will open up a new window containing the visualization, along with a number of controls. The first thing you will need to do is specify the executable you have made for your code. You may either enter its path, or select it via the button provided. If your executable requires arguments, enter them in the provided field. For example, if your executable is a Java class MultiplayerReversi.class, you should enter something like "java MultiplayerReversi" (without the quotes) in this field (replacing "java" with the full path to the Java executable if necessary). The exact details of what you enter here will depend on your language choice. In particular, in Java, you will need to make sure that the class file is in the same directory as MultiplayerReversi.jar, or else you will need to specify a classpath along with the executable location and class name.

You may customize the game by entering any values for the parameters that you like. The strategies will be loaded from weights.txt. Each line in the file represents one set of parameters, formatted as "size,strat1,strat2<,strat3>", where each strat is a space delimited list of size*size weights.

Once you've started the simulation, any output you write to standard error, along with messages from the visualization tool will appear in the visualization. You may control the speed with the slider on the top of the control panel. You may control the point size in the visualization with the slider to its left. You may also play manually be checking the 'manual' checkbox.

Command Line Options

You can specify a number of parameters on the command line to simplify the automation of testing (though you don't need to use any of them). For example, "java -jar MultiplayerReversi.jar -size 10" will set size to 10 when running the tool.
-line <line>Specify which line in weights.txt to use
-exec <command> Specify the command to execute your code
-novisRun the test case without the visualizer (requires -exec, implies -go)
-goStart running immediately (requires -exec)
-onewindowRun in one window instead of 3

Final Notes