1. Homepage
  2. Programming
  3. COMP319: Software Engineering II Assignment 1: Space Invaders

COMP319: Software Engineering II Assignment 1: Space Invaders

Engage in a Conversation
LiverpoolCOMP319Software Engineering IISpace InvadersFree InvadersJava

COMP319: Software Engineering II Assignment 1 (2023/2024)
(100% mark for Assignment 1.1 is 20% of COMP319 grade)
CourseNana.COM

This assignment involves Object Oriented Pattern design of a game.
CourseNana.COM

Instructions CourseNana.COM

This design task requires you to produce a class design for a game of space invaders, see Figure 1. The class design is to be submitted as code only (no UML is required). Each component of the game shown in the Figure must be modelled to a class. The implementation of the game does NOT need to include rendering of the game, so it does not have to be playable (your code should be model only – no view controller). However, you should have stubs in place where you would 1) expect an object to be drawn to the screen, 2) receive input from the player, 3) Make a sound. CourseNana.COM

The game does NOT have to work to score well, but does have to be a good design which shows relevant use of the patterns required. All classes should be used and have some relationship with other classes in the design. CourseNana.COM

To help you understand how the game works play it here https://freeinvaders.org/ CourseNana.COM

You are expected to demonstrate the use of the following OO techniques and patterns.
Factory
Chain of responsibility
CourseNana.COM

Singleton
Open closed principle Single responsibility
CourseNana.COM

The code must be written in JavaTM. CourseNana.COM

Responsibilities CourseNana.COM

You should make a list of the relevant responsibilities for each class and determine what data should be modelled. CourseNana.COM

Deliverables CourseNana.COM

The deliverable will be a zip file containing all the source code for your game, including all Java source class, interface and other files. CourseNana.COM

Marking CourseNana.COM

Relevant use of factory class for the problem given 10% Relevant use of the chain of responsibility for the problem given 30% Good application of open/closed principle within the code 15% Relevant use of Singleton for the problem given 10% Good coverage of game functionality 10% Single responsibility conformance 5% Overall code readability and quality 20% CourseNana.COM

Note you must use the patterns given to solve the problem given, so not just have for example a piece of factory code which is to solve a different problem. CourseNana.COM

Compile errors and marking CourseNana.COM

The code must compile, you will lose marks for compile errors. The more compile errors the more marks you will lose. CourseNana.COM

Code entry point CourseNana.COM

Provide a class called Main.java, this should be the entry point for your game and contain a static main method for allow to code to start. CourseNana.COM

CourseNana.COM

Hints CourseNana.COM

To help you get started here are some hints. You do not have to follow this method, and you do not need to submit any related documentation however this will help you getting going. To get started write up a description of the game. Include as many details as you can remember to think up a name for the relevant components on the screen, e.g. player, sprite or high score. Once this is written use the noun identification technique to identify candidate classes. CourseNana.COM

Now start to think the responsibilities (associated methods) that the classes will have to support (for example drawing themselves on the screen, rendering). Also think of the relationships between the classes, aggregation, inheritance, interface implementation etc. This will give you a good start on how to code the game. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Liverpool代写,COMP319代写,Software Engineering II代写,Space Invaders代写,Free Invaders代写,Java代写,Liverpool代编,COMP319代编,Software Engineering II代编,Space Invaders代编,Free Invaders代编,Java代编,Liverpool代考,COMP319代考,Software Engineering II代考,Space Invaders代考,Free Invaders代考,Java代考,Liverpoolhelp,COMP319help,Software Engineering IIhelp,Space Invadershelp,Free Invadershelp,Javahelp,Liverpool作业代写,COMP319作业代写,Software Engineering II作业代写,Space Invaders作业代写,Free Invaders作业代写,Java作业代写,Liverpool编程代写,COMP319编程代写,Software Engineering II编程代写,Space Invaders编程代写,Free Invaders编程代写,Java编程代写,Liverpoolprogramming help,COMP319programming help,Software Engineering IIprogramming help,Space Invadersprogramming help,Free Invadersprogramming help,Javaprogramming help,Liverpoolassignment help,COMP319assignment help,Software Engineering IIassignment help,Space Invadersassignment help,Free Invadersassignment help,Javaassignment help,Liverpoolsolution,COMP319solution,Software Engineering IIsolution,Space Invaderssolution,Free Invaderssolution,Javasolution,