Project 3 FAQ

This page was last updated: Friday, 08-Jun-2007 18:04:25 AEST by cs3411.hw3@cse.unsw.edu.au

  1. Have there been any changes to the source files ?

    Yes, the files in src.zip have been updated. The object file client.o was last updated at 2pm on Friday 25 May; the other files were updated at 2pm on Wednesday 23 May.
    Please ensure you have the latest version.

    You will notice that agent.c and agent.h have only changed in one place: the prototype for agent_end() is now

    void agent_end(
                   int loc_p[WIDTH+1][HEIGHT+1],
                   int result, // WIN, LOSS or DRAW
                   int cause   // CAPTURE, ILLEGAL_MOVE, TIMEOUT or MOVE_LIMIT
                  );
    
    The parameters to agent_end() are now the final state of the board loc_p[][], the result of the game (WIN, LOSS or DRAW) and the cause of the outcome (CAPTURE, ILLEGAL_MOVE, TIMEOUT or MOVE_LIMIT).

  2. How can I test my player against other players?

    We have now set up a mechanism for you to play your agent against other submitted agents. Details can be found here.

  3. What are the rules regarding time, move limit, illegal moves and stalemate?

    1. each game is limited to a maximum of 200 moves (100 by each player) after which it will be declared a draw.
    2. there is a maximum of 5 seconds for any individual move, and 120 seconds in total for all the moves by one player during a game; if these time limits are exceeded, the game will be a loss for that player.
    3. if a player attempts an illegal move, the game will immediately be a loss to that player.
    4. if a player is in a situation where they have no legal moves, the game is a loss to that player (this can happen, for example, if the player has only a dog, and it is trapped in a corner by the opponent's tiger and elephant).

  4. Can we write our agent in another language (for example, Java or C++)?

    Yes, but you will have to translate client.c into your chosen language. If you are interested, send us an email and we will send you the source code. If you want to use C++, we believe it can be compiled and linked to the existing client.o directly. If you have any problems, let us know. If you want to use Java, write a makefile which produces a file called client.jar file.

  5. Which are the "pre-defined opponents"?

    The pre-defined opponents are Random and React. You are guaranteed to get at least 2 out of 10 for the performance component if you can consistently defeat Random, and at least 4 out of 10 if you can consistently defeat both Random and React.

  6. How exaclty will late submissions be handled?

    After the submission deadline, all agents will be removed from the repository except the pre-defined opponents (Random, React, Look3 and Look7). Only agents which have been submitted by the deadline will participate in the tournament. You will still be able to use acplay after the deadline, but only to play against the pre-defined opponents, and against other agents which have also been submitted after the deadline (either through give, or directly using acsubmit). Late submissions will close at 8pm on Friday 15 June, and all late submissions will be tested against the on-time submissions. They will be marked according to the same criteria as the on-time submissions, except that the mark will then be capped according to the late penalty.


Back to Project 3 | Back to the main page