Tuesday, April 19, 2011

Pirate Fleet assignment code online

Ahoy! The eagerly awaited release of the Pirate Fleet framework has occurred. It is available for download from week 10 in the lecture schedule > practical exercise column. A new PDF has been included with the distribution. This explains what new features the code facilitates for assignment 2.

Things to try:
  1. Compile the code and run it. The PixSail is highlighted in green for you to see. In the code's current form, the PixSail controller (in PowerfulAIControllerExample.cpp and .h files) is set to imitate the fleet's signalling system... you can see the result yourself!
  2. Comment out the PixSail's signalling imitation and see what happens now.
The PixSail controller provided is a sample only. The controller that will be pitted against your fleet will be a bit smarter and more difficult to defeat. This will be released when the assignment is due so that we can see how your fleet fares!

Notes:
  1. During the lecture discussion last week I indicated that the accuracy of the routine for one ship to obtain the heading of another diminished with increased distance from the target. This has not been implemented. Instead, a ship's heading can be determined with 100% accuracy.
  2. Each ship has 3 signalling flags that can be set or unset. These may be used to communicate between ships, or to distinguish an enemy from a friend. There is no independent way of determining friend from foe... you will need to use the flags to perform this task! Beware, the PixSail may trick out your ships (see the example provided).

Sunday, April 17, 2011

Programming competition...

http://www.sppcontest.org/home.html

The contest is a two-tiered competition among teams of students representing institutions of higher education. Teams first compete in regional contests held around the world from September to November each year. The winning team from each regional contest qualifies to advance to the ACM International Collegiate Programming Contest World Finals, typically held the following March to mid-April. Additional high-ranking teams may be invited to the World Finals as wild card teams.

What is a programming contest?

A programming contest is designed to test problem-solving and programming skills in an Olympic-style context. Teams of three are allocated a single computer per team and given a number of problems to attempt in 5 hours using C/C++ and/or Java.

Thursday, April 14, 2011

Pirates! Results



Here are the results for the first round of Pirates! (assignment 1). Congratulations to the winners. In the left-hand column are the final placings.
  • Only valid entries receive an official placing.
  • The top place-getter receives 15/15 for this section of the assignment.
  • The next 10 place-getters receive 10/15.
  • The remaining 2 place-getters have been awarded 7/15 for at least getting something in on time that compiled!
The other ships were run using the lecturer's example controller. Since I can see that most of you tried to get something in on time, even if you left it until the last minute, even if you didn't test it on Linux, even if you didn't strictly adhere to the file and class naming and submission guidelines... so I have awarded you all 5 marks for participation.

I hope you enjoyed the game! Stay tuned for the assignment 2 code release.

Wednesday, April 13, 2011

Game parameters...

Here are the final parameters to be used in the competition for Pirates (assignment 1):

Globals gGlobal(
250, // number of gold markers
20, // approx. number of ships (depending on entries)
75, // sea grid size (counted in grid cells)
700, // number of rocks within the sea
4000, // number of time steps in a game
10 // number of games to be played
);


Happy gold hunting.

Tuesday, April 12, 2011

header file - to do!

Important: In the header file for your code, at the top, will be 2 lines like this:

#ifndef _STUDENT_AI_H_
#define _STUDENT_AI_H_

Please modify these by inserting your code number after STUDENT like this:

#ifndef _STUDENT##_AI_H_
#define _STUDENT##_AI_H_

where ## is your two digit code number.

Also, if you add any new classes to your assignment file, such as a map class, use your student code in the name of that class also. For example:

class myShipMap##
{
...
};

That way we will avoid namespace conflicts. Make sure that all of your classes are submitted within the same two files (the .h and .cpp files). This is not great coding style but it will make compiling the group game much easier!

Sunday, April 10, 2011

Pirates assignment Game Code

Ahoy mateys! (Pirate talk)

Code numbers have been emailed to you at your official Monash student accounts. Use these as described in the assignment outline within the name of your Pirate AI controller class.

If you have a been assigned a code number <10, please prefix it with a "0". I.e. if your number is "7" your controller class will use the number "07".

Good luck!

Sunday, April 3, 2011

Pirates! beta 2.1 now online

You can find the code for version 2.1 under the practical exercise column of the page:

http://www.csse.monash.edu.au/~cema/courses/FIT3094/lectNotes.html

At this stage, the code is certainly in beta version. Feel free to try things out and let me know how it goes. If you encounter problems, please record the specifics in detail.

Release notes:

Version 2.1 removes any need to compile with -lGLU which some of you required. Hopefully this issue is fixed now!

In addition, the sprintf() overflow glitch that caused the software to over run the buffer has been rectified.

Have fun!