Project 1: A Grid Based Soccer Simulator
Assignment Day | August 14, 2012 |
Check Point 1 | August 16, Port ASCII Soccer to Nike (should be straight forward) |
Check Point 2 Final | August 23, 2012 (Demonstrate Java Version on Laptops in Class) |
Team Competition | August 28, 2012 |
Collaboration Policy - Read Carefully
You must work on this project individually, but you may discuss this assignment with other students in the class and ask and provide help in useful ways, preferable over our email list so we can all benefit from your great ideas. You may consult (but not copy) any outside resources you including books, papers, web sites and people.
If you use resources other than the class materials, indicate what you used along with your answer.
Objective
Your job is to create a soccer simulator in Java where competitor can create their own soccer teams and use your simulator to compete. You should also provide a graphical interface displaying the teams process. If you are curious what such a simulator would look like take look at ASCII soccer which is a simple simulator implemented in C. Your implementation should provide the same functionality as ASCII soccer, but with graphics.
ASCII soccer is provided, but it is not guaranteed to work in your environment, it has been tested on earlier version of redhat, Solaris and it works on the current C/Mac environment (snow leopard and lion).
Questions/Answers:
- What is the environment like?
- How far should the ball go?
- The direction should be a bit noisy -- i.e., the ball may not go exactly away from each player
- The distance should be a bit noisy -- sometimes the ball goes further sometimes it goes shorter
- Can players be on top of another?
- This should be prohibited (this is also what ASCII soccer does).
-
The world should be a grid based world -- were there are only specific locations that
the players can inhabit.
Specifics:
-
In addition to develop a soccer simulator you will also need to implement two
example teams A1 & A2 (different from the teams provided):
- one team that uses some brute force technique (but a variation of the existing team) such that each player goes directly towards the ball.
- one team that you design yourself.
- Be careful how you define your team API
- Look at the README file provided in ASCII soccer for hints or an updated README file here:
Other Information:
-
Make sure you environment sees the following executables:
-
get the ASCII soccer software at:
- soccer.2.0.tar
- http://asciisoccer.org/ (top level directory)
-
untar file:
tar -xvf soccer.2.0.tar
-
go to directory:
cd soccer
- README file at:
- see Quickstart in README file to run server and teams
g++How to get the ASCII soccer and run it on odin:
ranlib
ar
Other Requirements
Submitting: You need to name the directory of your source code "project1/". You must to include a README.txt file describing how to run and compile your program. You also need to include a Makefile, you can find an example Makefile in the directory of the shell helper files directory accessible from the schedule web page.
|