ICT221 Object-Oriented Programming Assignment

Assignment Help JAVA Programming
Reference no: EM132891647

ICT221 Object-Oriented Programming - University of the Sunshine Coast

Tasks

A MazeRunner game with two components
Game Engine with Unit Tests
JavaFX GUI to play

Goal
To reach the Exit with more gold coins before losing stamina
Key features
10 x 10 2D grid game
The player starts at the Entrance and moves in 4 directions
A game has a difficulty d (default: 5)
12 initial stamina. Each move consumes 1 stamina.
Elements in the map
Entrance is at the bottom left and Exit is random
5 random gold coins. The number of gold coins at Exit is the game score.
d random traps: consume 1 gold coin to pass the trap
(10 - d) random apples: increases the stamina by 3

Requirements

Game Engine
strong encapsulation of the data fields within classes
private fields with getters/setters
correct implementation of association or composition relationships between classes
good use of inheritance/interface and subtype polymorphism
Use interface for different item types
good choice of data structures
How to represent the map and items
adherence to recommended Java coding style (naming conventions, code formatting etc.)
and concise elegant code with no duplicated code
follow correct JUnit naming conventions
thoroughly test all the Game Engine classes

GUI functionality
a playable and robust game
good use of JavaFX widgets, layout panes, and controls to build an elegant and functional user interface
4 arrow buttons for playing
Help button
Show current stamina & gold collected
appropriate use of bitmap images in the GUI
Background, icons for items & buttons, etc.
saving/loading of games states
Save & Load buttons

GUI code
good use of event-driven programming
Event handlers for buttons/arrow keys
good OOD of the GUI classes with strong encapsulation of the data fields within classes
good use of inheritance/interface and subtype polymorphism
E.g. each cell is a Pane?
adherence to recommended Java coding style (naming conventions, code formatting etc.)
concise elegant code with no duplicated code
and good use of exception handling to catch and report any I/O or game errors

Strategy
Design and implement the backend Engine first. Once the Engine can be played in a text version, starting creating the frontend GUI.
Engine is the real workhorse while the frontend GUI is a skin to allow users to play visually.
Clicking a button in the GUI actually 1) invokes a method of the Engine to update the game state, and 2) reload the GUI to show the latest game information.
At the backend, the Engine class would include the following fields:
A map which can be easily represented as a 2-d array.
A player object which records the details of the player, e.g. stamina, location, gold coins, etc.
The player's information is updated during the game play, eg. moveUp(), moveLeft().
Try to draw the UML diagrams for the class designs and then implement in Java

In the Engine, the map is a 2d array. There're different ways to model the array elements
Use different integer values to represent different types of cells, e.g. entrance, exit, apple, etc.
Create a Cell class to model one cell in the map. Add a field cellType to represent the types of cell. ? More flexible and extensible solution
There're different ways to create the Grid map in GUI, e.g.
Create a static 10*10 GridPane in SceneBuilder
Not recommended as it's not flexible
Create a GridPane without size in SceneBuilder, then in Controller.java, create/add each grid cell by looping through the 2d array of map
To use this solution, Cell class should extend Pane class to enable its addition to GridPane.

Attachment:- Object-Oriented Programming.rar

Reference no: EM132891647

Questions Cloud

Prepare Comerica Bank journal entry for initial transaction : On January 1, 2019, Fourth Company issued a $1,200,000, 5 year, zero interest-bearing note to Comerica Bank. Prepare Comerica Bank journal entry for transaction
Public perception task force presentation : Create a visual showing a categorical relation that is negative between the police and the public. Develop a positive relationship with the public.
Global business projectintroduction to business : Be sure to include a Work Cited page. The paper should be 4-6 pages double spaced with one inch margins.
How does budget narrative relate to actual budget : Why is it important to include overhead costs in a grant budget? How does a budget narrative relate to the actual budget?
ICT221 Object-Oriented Programming Assignment : ICT221 Object-Oriented Programming Assignment Help and Solution, University of the Sunshine Coast - Assessment Writing Service
Process evaluation and outcome evaluation : What are the differences between a process evaluation and an outcome evaluation?
Prepare the journal entry to record income taxes : Prepare the journal entry to record income taxes in 2022 assuming pretax accounting income is $310,000. No additional temporary differences originate in 2022
Discuss possible effects of applying risk assessment : Discuss the possible effects of applying risk assessment and risk management in policing pertaining to curtailing departmental and officer misconduct.
Make the entry to record the issuance : Bonds with a face value of $295,000 were issued at 102. The entry to record the issuance will include a credit to the Bonds Payable account for

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd