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

In Basketball Stars, a player attempts 25 shots in one game.

  In  basketball stars, a player attempts 25 shots in one game. a) If 15 shots are successful, what is the player’s shooting percentage? b) The next game, the player makes 18 out of 30 shots. Compare the two shooting percentages. c) What is the overall shooting percentage across both

problem

Research problems due 9/18 Please follow the instructions carefully for your research problem. Your argument and research input will significantly impact your grade. Ensure that you check for AI-generated content and plagiarism before submitting your paper. AI-generated content should not exceed 10%, and content from external sources should be limited

co task 6

Topic-bitcoin Task 6 Objective: To apply systems thinking principles to analyze a blockchain network and understand its key components, interactions, and dynamics. Assignment Tasks: Select a Blockchain Network: Choose a specific blockchain network or cryptocurrency project to analyze. You can select well-known networks like Bitcoin, Ethereum, or any other blockchain

CO Task 5

In this homework, we explore Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine models. 1) (50 points) Use “credit_Dataset.arff” dataset and apply the Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine technique using the WEKA tool in 2 different settings, including: a. 10 fold-cross validation. b. 80% training. Write a

PhD thesis

I need a comprehensive PhD thesis developed on the topic of “Emotion-Aware Artificial Intelligence and Sustainable Consumer Behavior: A Neuro-AI Marketing Framework for Continuous Green Consumption.”

Co project

· Comprehensive Literature Review: Require a more comprehensive survey of existing approaches. · Comparative Study: Expect more detailed benchmarking of at least 8 to 10 machine learning models. · Additional Experiments: · Conduct feature selection or dimensionality reduction as an extra step. · Explore ensemble methods or advanced techniques beyond

AI

Did AI take place the Software Engineers, HR consultants and Data Entry Jobs?

Data visualization 4 part 2

Follow the attached instructions to complete this work. Unit 4 Assignment Directions: Time Series In this assignment, you will perform a time series analysis in Tableau. · Choose a dataset to analyze based on the requirements provided.   · Once you’ve selected your time series, build a forecast to predict future

Computer Science CG Assignment 8 presentation

Follow the attach instruction to complete this work. Note: Make sure it aligns with Rubric Unit 8 Assignment 2 Directions: Final Presentation Purpose With this presentation, you will gain valuable experience demonstrating your expertise in cybersecurity governance by presenting as a CISO to a hypothetical professional audience.  Directions Begin by incorporating

Computer Science CG assignment 8

Follow the attached assignment to complete the work. Note: Follow Rubric Unit 8 Assignment 1 Directions: Presentation Rehearsal Purpose The rehearsal is your first run-through of your talk. Use the opportunity to de-bug any technical issues with lighting, positioning, and recording. You will not be graded on technical or artistic

Computer Science CG assignment 7 Outline

 Follow the attached document to complete this work Unit 7 Assignment 1 Directions: Professional Presentation Outline Purpose This assignment allows you time to review your research from previous units and organize your thoughts in an outline format. Plan on changing your paper and presentation based on feedback on this outline.  Directions

Computer Science CG assignment 6 ,

Follow the attached direction to complete this work. Note: Make sure it Aligns with Rubric Unit 6 Assignment 2 Directions: Timothy Brown vs. the SEC Purpose The Securities and Exchanges Commission (SEC) is a key US federal agency that regulates financial reporting. In this paper, you will explore how the

Microsoft 365Tenant to Tenant Migration Solution

A smooth tenant-to-tenant migration requires more than just moving mailboxes—it demands precision, security, and planning. With the MailsDaddy Cross-Tenant Migration Service, IT teams can execute a flawless cross-tenant mailbox migration that covers emails, attachments, calendars, contacts, and OneDrive data. It’s built for businesses of every size, ensuring the entire Office

CO Data 3

DECISION TREES for Risk Assessment One of the great advantages of decision trees is their  interpretability. The rules learnt for classification are easy for a person to follow, unlike the opaque “black box” of many other methods, such as neural networks. We demonstrate the utility of this using a  German

Computer Science Homework 1

MMIS 671 Homework 1. Constrained Optimization Problems A company produces 3 types of cables: A, B, and C. In-house production costs per foot of cables A, B, and C are $6, $8, and $10, respectively. The production process requires 5 resources: Drawing, Annealing, Stranding, Extrusion, and Assembly. For each resource,