ITECH1000 Java Programming Assignment

ITECH1000 Java Programming Assignment

ITECH1000 Java Programming Assignment

Learning Outcomes Assessed

The following course learning outcomes are assessed by completing this assessment:

  • Identify and use the correct syntax of a common programming language
  • Recall and use typical programming constructs to design and implement simple software solutions
  • Reproduce and adapt commonly used basic algorithms
  • Utilise pseudocode and/or algorithms as a major program design technique
  • Write and implement a solution algorithm using basic programming constructs
  • Demonstrate debugging and testing skills whilst writing code
  • Develop self-reliance and judgement in adapting algorithms to diverse contexts
  • Design and write program solutions to identified problems using accepted design constructs

Assessment Details

It’s time to do battle!! Your task is to design, develop and test a basic Pokémon battle ground using the following class diagrams and screen shots.

Stage 1: Design

This stage requires you to prepare documentation that describes the function of the program and how it is to be tested. There is no coding or code testing involved in this stage. A document template has been provided for your use.

Requirements:

  1. Read through Stage 2: Program Training and Developmentto obtain details of the requirements of this program.
  2. Write an algorithm that describes how the program will operate.
    1. All program requirements must be included, even if you do not end up including all these requirements in your program code.
    2. The algorithm must be structured logically so that the program would function correctly.
  3. Prepare and document test cases that can be used to check that the program works correctly, once it has been coded. You do NOT need to actually run the test cases in this stage; this will occur in Stage 3: Testing.
    1. All program requirements must be included, even if you do not end up including all these requirements in your program code.
    2. Make sure the test cases include checking of data entered by the user to make sure that only valid data is accepted. If the user enters invalid data, the user should be informed of this and given another chance to enter the data. NB: As we have not covered exception handling, you may assume that the user will always enter the expected data type.
    3. Test cases should be documented using a template like the one below. You may include extra information if you wish.  At this stage, the Actual Result column will be left blank.

Stage 2: Program Development

Using the Design Documentation to assist you, develop a Java program that uses object-oriented coding approaches to implement the requirements outlined in this section.
You must follow coding conventions, such as proper layout of code, using naming conventions and writing meaningful comments throughout your program.

Overview of the Program:

This section provides an overview of how the program works from the user’s perspective. You may change the appearance of the program provided you implement the same functionality.

  1. When the program starts, it provides a short welcome message, and then automatically initialises the program.  This initialisation includes creating the Pokémon gyms, Pokémon and members.
  2. When initialisation is complete, a menu appears providing the user with options to battle Pokémon, view gym membership, view the highest winner at a gym, view the highest winner across all of the gyms and to exit the program.
  3. When the user selects the Battle Pokémon option, a second menu appears from which the user can select a Pokémon Gym.
    1. Upon selecting any of the gyms, the user is told of the first challenger and the second challenger and who wins the battle.
    2. The user is returned to the main menu
  4. When the user selects the View Gym Membership option, a second menu appears from which the user can select a Pokémon Gym
    1. Upon selecting any of the gyms, the user is shown a list of members, their details and associated Pokémon
    2. The user is returned to the main menu
  5. When the user selects View Highest Winner at a Gym option, a second menu appears from which the user can select a Pokémon Gym
    1. Upon selecting any of the gyms, the user is shown the details of the member who has had the most Pokémon battle wins.
    2. The user is returned to the main menu
  6. When the user selects View Highest Winner across Gyms option, the winners for each gym are displayed, along with the overall winner.
  7. When the user selects the option to exit the program, a message thanks the user for using the system, the author of the program is shown and the program terminates.