Our Services

Get 15% Discount on your First Order

[rank_math_breadcrumb]

HW 4 COS

PLEASE REVIEW THE INFO BELOW 

Upload the .java source code file AND DON’T ZIP FILES AS I HAVE SEEN MANY STUDENT DID IT IN THEIR PREVIOUS ASSIGNMENT.

In a single file named game.java, create an Enemy class, Player class, and gameObject class.  The Enemy and Player (sub) classes should inherit from the gameObject (super) class.  Create a player and a few enemies.  Create the basic movements (left/right/up/down) for the player.  Develop a menu in the main method that allows the player to move around.

gameObject SuperClass

Variables

Description

static char World[][] = new char[41][21];

This is the character array that will store what is at each X,Y location.  It is static so there is only one World for all game objects.

int Xpos, Ypos

X,Y location of the game object.  The top left of the screen will be 1,1.

int HP

Hitpoints of the game object – it is alive as long as HP > 0

int Attack

Attack rating of the game object – the higher the number, the more damage it does

int Armor (optional)

Armor rating of the game object – the higher the number, the less damage it takes when attacked

char Avatar

The character that will be displayed when the World is printed

Methods

Description

PrintWorld()

This will print the World to the screen.  Example code:
for (int y=1; y<=20; y++)
{
   for (int x=1; x<=40; x++)
   {
      System.out.print(World[x][y]);
      // optionally put a space after each element
      if (x < 40) System.out.print(” “);
   }
   System.out.println();
}

MoveRight()

Move the game object to the right.  Here’s some example code:
if (World[Xpos+1][Ypos] == ‘ ‘)
{
   World[Xpos][Ypos] = ‘ ‘;
   Xpos++;
   World[Xpos][Ypos] = Avatar;
}

MoveLeft()

Move the game object to the left.

MoveUp()

Move the game object to the up.

MoveDown()

Move the gameobject to the down.

Enemy SubClass (inherits from gameObject)

Variable Names

Variable Description

String Type

Type of enemy such as “Orc” or “Troll”

int Speed (optional)

The speed of the enemy.  You could have some enemies move 2 spaces per turn instead of 1.

Methods Names

Methods Description

Enemy()

Constructor that takes 1 parameter – Type

You can set the Enemy’s Xpos,Ypos to a random location

In the constructor, you will set these things based on the Race:  HP, Attack, Armor, Speed, Avatar.  For example:
if (Type.equals(“Orc”))
{  HP = 50;  Attack = 5;  Armor = 20;  Speed = 1;  Avatar = ‘O’; }

Player SubClass (inherits from gameObject)

Variable Names

Variable Description

String Name

Name of the player.

int Gold (optional)

The amount of gold the player has collected.

Methods Names

Methods Description

Player()

Constructor that takes 2 parameters – Name, Avatar

Since there will only be 1 player, this constructor will only be called once.  Therefore you can initialize the World here.  Here’s some example things you could do:

// set entire world to spaces
for (int x=1; x<=40; x++)
   for (int y=1; y<=20; y++)
      World[x][y] = ‘ ‘;

// put the player into the world after filling it with spaces
XPos=2;  YPos=2;  World[2][2]=Avatar;

// line perimeter of world with trees ‘@’
for (int x=1; x<=40; x++)
{  World[x][1] = ‘@’;  World[x][20] = ‘@’;  }
for (int y=1; y<=20; y++)
{  World[1][y] = ‘@’;  World[40][y] = ‘@’;  }

// draw a lake at a random location ~
int a = (int)(Math.random()*30)+4;
int b = (int)(Math.random()*10)+3;
World[a][b] = ‘~’; World[a+1][b] = ‘~’; World[a+2][b] = ‘~’;
World[a][b+1] = ‘~’; World[a+1][b+1] = ‘~’; World[a+2][b+1] = ‘~’;
World[a][b+2] = ‘~’; World[a+1][b+2] = ‘~’; World[a+2][b+2] = ‘~’;

 

Below is an example screen print showing the player, Orcs, Trolls, armor and weapons.

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ K             $                                                           @
@                                                                           @
@         %                                                     O     O     @
@                                                                     O     @
@                     ~ ~ ~                               T                 @
@                     ~ ~ ~             O O                                 @
@                     ~ ~ ~             O O                                 @
@           +                                                               @
@                                                                           @
@                         $                                                 @
@                                                                           @
@                                                                           @
@                                                                     +     @
@       O O                         %                                       @
@                                                                           @
@               $                                                           @
@                                       $                     T             @
@                                                                           @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

Enter your command:

 

The main program will be rather simple since many things are handled in the classes.

import java.util.*;
public class game
{
   public static void main (String[] args)
   {
      Scanner in = new Scanner(System.in);
      String Choice = “”;

      // creating the player will initialize the world
      Player P = new Player(“Kirk”,’K’);

      // create some enemies in random locations
      Enemy E1 = new Enemy(“Dragon”);
      
      while (!Choice.equals(“q”))
      {
         P.PrintWorld();
         System.out.println(“Enter your command: “);
         Choice = in.nextLine();

         // call move methods – you can use the standard gaming directions – a,s,d,w
         if (Choice.equals(“a”))
            P.MoveLeft();
      }
   }
}

BELOW IS THE PICTURE IF YOU DONT UNDERSTAND THE INFORMATION ABOVE

image1.png

image2.png

image3.png

image4.png

image5.png

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

Computer Science – Machine Learning Python Programming Assignment

Assignment Help. Please don’t forget to add comments in the code Page 1 of 3 NorQuest College – CMPT 1011: Lab Assignment 5 CMPT 1011: Introduction to Computing Lab Assignment 2: Variables, mathematical operations and data types Value This coding challenge is worth 3% of your final grade. Background In

Public safety Communications

Subscribe The Communications and Cyber Resiliency Toolkit provides guidance for establishing resiliency measures, public safety communications can better withstand potential disruptions to service. This toolkit, developed by CISA, describes networks and systems critical to successful communication and cyber resiliency and possible threats while providing many resources and additional links for

Case Study 4 o Data (computer)

Follow the attached instructions to complete this work Unit 4 Case Study Directions Review the following case study. Consider both the big-picture ideas and the specific concerns. Make use of the key terms and concepts from the readings in your written responses to the questions below. The case study paper

Discussion 5 and 6

Follow  the attached instructions to complete this work Unit 5 Discussion   Overview In this discussion, you will be considering the emphasis on aspects such as privacy and safety. You will reflect on the significance of the legal concerns and goals of public-private partnerships to address cybersecurity. You will also

SQL injection

Hey! ????  I need an expert in SQL injection, DDOS attack, Code injection attack, XSS attack! To talk further please contact me on discord at mara411 so we can talk more freely and then I will hire you on here! Thanks ???? 

Free CAD, FeniCS or paraview

I have attached the picture and sample work too, I need work as like sampl, but not the copypasted Make sure you can ask me multiple questions but not dont do rubbish work

database

2. Final Assignment – equivalent to 4,000 words The final module mark is based on two deliverables focused on the CarNow case study described below. – 50% of the final mark a. An advisory report – 50 % of the final mark Includes 5% (of the module grade) given for

Computer

Documentation Tabula Insurance Agency ENTER AND UPDATE COMPANY DATA Author: Ashanti Joyner Note: Do not edit this sheet. If your name does not appear in cell B6, please download a new copy of the file from the SAM website. Personnel Tabula Insurance Agency Personnel: April 4-10, 2024 Employee Name Salary

Computer class

All information is below Toronto converted a declining part of the city into a vibrant neighborhood using the smart city 1.0 approach when a local technology company introduced electric shuttle buses to replace private cars and intelligent traffic lights to regulate the flow of pedestrians, bicycles, and vehicles. From Frankl,

Week 15

Read attachments for assignments  Week 14 Feedback Overall Feedback Well done on this assignment You will have to refine your tables and figures for your final submission. Always introduce them to the reader in preceding paragraph, properly create APA table, and cite figures. See Video:   APA Tables and Figures

Prof Double R

  PowerPoint Presentation: Narrative Presentation to the Board of Trustees The Centers for Medicare & Medicaid Services (CMS) has taken on a more visible role in health care. A great deal of change has transpired to improve patient safety and implementation of additional quality metrics. The new health care reform

Week 14

Please read attachments for details  image1.png

Week 13

Read attachments for details  The Finishing Touches – Week 13 Instructions For this week’s assignment you will submit the material discussed in the lesson plan and summarized below: · A refined introduction (Mandatory) · Updated Title Page (Mandatory) · Copyright Page with Declaration (Mandatory) · Dedication Page (Optional) · Acknowledgement

SCMT699

please read attachments for assignment  Feedback from week 10 Please address your design before your next submission.  Its how you are going to go about conducting your research so other can duplicate it. This is a good book on it. Creswell, J. W. (2009). Research design: Qualitative, quantitative, and mixed

Discussion 2

Follow the attached instructions to complete this work. Using ChatGPT or another generative AI tool, you will request SQL code for a business problem using simple user requirement terms. Then you will plug that into MySQL to reverse engineer an ERD. You and your classmates will discuss misalignments between what

Week 10

Read attachment for details  Week 8 Feedback Overall Feedback Theory is one of the most difficult concept to grasp.  Your study must be based on a theory and align with what you are attempting to explore and what you are trying to answer based on previous gaps in research. Well

hw2

This problem exercises the basic concepts of game playing, using tic-tac-toe as an example.  We define Xn as the number of rows, columns, or diagonals with exactly n X’s and no O’s.  Similarly, On is the number of rows, columns, or diagonals with exactly n O’s.  The utility function assigns