Reference no: EM133585650
Object-Oriented Software Development
Assignment - Robocode and NoCode Report
Learning outcome 1: Demonstrate understanding of classes, constructors, objects, data types and instantiation; Convert data types using wrapper methods and objects.
Learning outcome 2: Independently analyse customer requirements and design object-oriented programs using scope, inheritance, and other design techniques; Create classes and objects that access variables and modifier keywords. Develop methods using parameters and return values.
Learning outcome 3: Demonstrate adaptability in building control and loop structures in an object-oriented environment; Demonstrate use of user defined data structures and array manipulation.
Learning outcome 4: Create object hierarchies using additional utility methods, application programming interfaces (API) and interfaces, in conjunction with existing classes and objects.
Learning outcome 5: Demonstrate usage of collection to access data structures effectively and compose full- fledged object-oriented applications.
Learning outcome 6: Extend the on object-oriented concepts and design patterns introduced in lectures to carry out further research on a chosen object-oriented design pattern or emerging recent programming languages.
Problem Description
This project is based on the design, and implementation in Java of a RoboCode (A) and a report of NoCode (B).
Java Code: Your group creates customize robots, test and deploy them in Robocode.
Video:
2-3 min Explain your code and where your or other parts of Robocode that uses at least two of the following: inheritance, polymorphism, interfaces, encapsulation. Explain if that is the best use or whether another technique should be used and why. e.g. Should inheritance be use instead of interfaces in your code and why? (Note: When you start working - the major of the time you will be adding to someone else's code - learn to read it and use it).
Run a 1-2 minute game play. Want to see your robot running around.
One of the emerging programming languages that has gained significant popularity in recent years is NoCode. You are tasked to explore and write a 500-word report about it. Attach your report to the same Word document using appropriate heading sections.
e.g. Watch tutorials and discuss how to use it and will it ever completely replace programming languages such as Java? Why?
Descriptions of the RoboCode Requirements
The application should include the following classes:
Create one robot for each of your team members. The Name of your robot should be your student number. Note: Only one needs to be advance, the others can be target practice (e.g. don't move or fire).
Create a robot that goes in a rectanglar shape and another that goes in a circle shape (target bot)
Create a class that tracks and predicts movements of other robots. Class TrackBot() private variables of bearing, distance, energy, heading, name, velocity public getters/setters, reset() (set all private values to zero - e.g. lost target)
You need to use an ArrayList to track each movement of track.
Constructor - calls reset
public void onScannedRobot(ScannedRobotEvent event) {
//call trackBot() to set variables
}
At least one of your robots should call TrackBot and use it to navigate.
Create PredictBot that extends TrackBot() that output the predicted movement of a tank based on trackBot() to set dish scanner and gun position.
Hints:
Assume you install robocode in c:\robocode
You can compile via the command line such as: (compiles your TrackBot class and your robot StudentID class).
javaac -classpath c:\robocode\robocode.jar TrackBot.java javaac -classpath c:\robocode\robocode.jar studentID.java
You may need to include a package to compile (same name as your folder, e.g. td is the name of your folder) add the following to the start of your code:
package td;
(change directories to that parent directory of td, td the folder where your source code is) javaac -classpath c:\robocode\robocode.jar td\TrackBot.java
javaac -classpath c:\robocode\robocode.jar td\studentID.java
Attachment:- Robocode and NoCode Report.rar