Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Assignment 1: A Game of “ Shoot ’em Up ”

Assignment Summary

In this assignment, you will begin the foundations for creating your own game from 2 custom classes (Assignment #2 builds off this code). You will practice the concepts of methods, parameters,             arguments, if else statements, for loops, ArrayLists, and objects.

The basic game must have the following rough form:

• The human user controls a Player character (aka avatar) using the keys on the keyboard

• There is a target/enemy” object onscreen. The player’s objective is to fire some kind of projectile at the targets/enemies. The targets are removed from the game after being hit.

Learning Objectives

By the end of Assignment #1 you will have developed the following skills:

a) Create a general class

b) Detect collisions between different objects in your application

c) Enable users to control the onscreen objects using the keyboard

You will also have the opportunity to:

a) Explore different kinds of game mechanics using a simple game base

b) develop your programmer-intuitions about how to efficiently design and organize the coding logic of your applications

Assignment (15 points)

Because the overall purpose of this assignment is to start you the process of using OOP concepts and techniques to design and implement your program, we’ve imposed many requirements on how you need to create the game.

I have described each of these requirements in the table below. Be sure to read them very carefully and use them to design and implement your various classes and methods!

Application Requirements: 4 points

•  Visual collision between enemies and player (and the player projectile) must be done accurately.

- 1 If a player projectile damages the enemy without reaching it visually, or does not damage after reaching it. The same with when the player hits the enemy.

•  Visual collision between the enemy and player (and their projectile) must be done accurately.

- 1 If player or enemy projectiles damages their target without reaching it visually, or does not damage after reaching it.

•  When enemies hit the player, player must lose one health for each collision.

- 1 Enemies reduce the players health continually as long as they are in contact with the player.

•  Each of the Player and Projectile objects must be displayed on the screen to get credit.

- 1 application requirement point + minus half of the coding requirement points (see the table below) if any of the objects are not displayed

ECO: 3 points

ECO is for the effort, creativity, and originality you put into the game. Here are some ways to earn ECO points (total ECO points cap at 3 even if the add-up goes over it). Please note:

•  Assignment 2 will leave more room for creativity than this assignments. If you have an idea for how to   get ECO points that is NOT on this list, please email the TA or instuctor to check whether it counts

•  Everyone is suggested to put a text file (called README) into your assignment file submission that describes the parts of your code you think should count for ECO points.

Primary level ECO features

(each is worth .5-. 75 marks *, depending on complexity)

1. Design a small animation or other effect that indicates that the player has been successfully destroyed the enemy. E.g., previous students have created a short halo” effect triggered when the enemy is             destroyed.

2. Instead ofjust having the enemy/player appear captured/dead in a static image, have them change      state in some meaningful way, during the 1 or 2 second period, which indicates it is dying. For example, previous students have made the enemy/player spin around and also shrink in size or fade out to nothing as the 1 second period elapsed.

3. Design a cool custom cursor so that it appears more that the player is harming/capturing the             enemy/player in some way. For example, previous students have designed images of mallets, butterfly nets, swords, etc., that appear where the mouse is.

Intermediate level ECO features

(each is worth .75-1 marks, depending on complexity)

4. Use push andpopMatrix and the different transform methods (scale, rotate, translate) to cause             different parts of your enemy/player to move independently as the enemy/player moves through the        screen (i.e., such as to produce the appearance of realistic movement - versus just translating the entire   enemy/player image through the screen). Previous students have made their enemy/players arms swing, wings flap, etc., as they moved through the screen.

5. Design a full-fledged “heads up display” (HUD) to showcase the player score, with an appearance that matches the overall theme of your game. For example, previous students have designed heads-up-           displays (HUD) that look like the consoles in a spaceship.

6. Implement some difficulty scaling mechanics so that the game becomes harder when there are fewer enemies onscreen or the longer the player plays.

Advanced level features

(each is worth 1-1.25 marks, depending on complexity)

7. Implement some additional reward/achievement system, such as flashing a special message to the player when they kill some number of enemies within a short time interval or they go a long span     without “missing” an enemy (i.e., clicking somewhere on the screen that isn’t an enemy).

8. Implement some kind of restriction on the player’s ability to kill enemies. For example, make it so that the player/enemy has a limited number of projectiles to use before needing to either wait for the  projectiles to replenish OR click somewhere else on the screen (retrieve a pickup, click a special box, etc), to reload their projectiles. No Loot Boxes please!

There are other possibilities... think of how you can take this simple game concept and extend it in some way to make it more challenging/interesting /rewarding... (something you or yourfriends might actually like to play!!!)

* Total ECO marks cap at 3 pts even if the add-up goes over 3

Submission and Grading

Assignment Code (15 pts):

• It is an individual assignment.

• Zip the project folder (MUST be the folder NOT individual files) into a single Zip File.        Rename the zip file using the following naming standard:                                                         LabNumber_FirstName_LastName_AssignmentNumber_StudentNumber.zip , e.g.           E101_John_Smith_Assignment3_1234567, then upload it to Canvas before the deadline.

• Before the deadline, you are allowed to resubmit if you feel necessary, with the last submission being graded

(Please note, -0.25 will be deducted for each violation of the rules specified above)

• No late submission will be accepted. If you do not complete the assignment by the deadline, you will receive 0. You will also receive 0 for missing sketch or folder. For a legitimate reason a late submission might be allowed pending discussion with your TA before the deadline. You may    be required to provide supporting documents.

You are graded on completeness for the basic requirements and visual style evaluated by Effort, Creativity, Originality (ECO) of your assignment

Online Test for the Assignment (2 pts)

To demonstrate you have learned the relevant concepts, you must answer an online test regarding the work you have done.

The test will be posted on Canvas immediately after the Assignment DUE TIME. You must complete it within 2 days after the DUE DATE, and you have 30 minutes to finish it once started. Please note once the online test is closed by the end of its schedule, there is no way to re-open it for any individual and    therefore NO Make-Up is possible. So it is your responsibility to make sure you do it in time to get full credit for your assignment.