Project 1: A Grid Based Soccer Simulator
Assignment Day | August 18, 2015 |
Check Point 1 | August 19, Port ASCII Soccer from nice to work on laptop (should be straight forward). |
Check Point 2 Final | August 27 (Demonstrate Java Version on Laptops in Class) |
Team Competition | September 02 (project 2 submit teams) |
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:
- Question: What is the environment like?
Answer: The world should be a grid based world -- were there are only specific locations that the players can inhabit.
- Question: How far should the ball go?
Answer:
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
- Question: Can players be on top of another?
Answer: This should be prohibited (this is also what ASCII soccer does).
Other Specifics:
In addition to develop a soccer simulator you will also need to implement two example teams A1 & A2 (different from the teams provided).
A1: One team that uses some brute force technique (but a variation of the existing team) such that each player goes directly towards the ball.
A2: One team that you design yourself.You need to write your simulator and teams so that it can easily be distributed and used by other people. Here are some HINTS: B
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:
g++
ranlib
ar
How to get the ASCII soccer and run it on atlas:
get the ASCII soccer software at
project1soccer/ASCII_soccer.zi
go to unzipped directory, then
cd soccer
Check out the README file at README
see Quickstart in README file to run server and teams.
Run the script:
contest example wall
Other Requirements
Submitting (more details coming soon): 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. Create a directory project1 Submit your file via the submit command: submit project1 cs8220 For your team project, create directory project2 and submit via the submit command. submit project2 cs8220
source files in Java needed that compiles and runs on nike. Put all the materials needed in the project 1 directory (including a README.txt file) README.txt |