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

Network Design and Plan Purpose

Please review attachment Mod 4 Project: Network Design and Plan Purpose In this module, we will introduce a course design project that will be completed in four parts during the course. This project provides you an opportunity to solve a comprehensive problem in firewall and virtual private network (VPN) implementation

Memecoins & Stablecoins Development

Please take a look at the attachment. Lab #3: Blockchain-Based Ecosystems: Memecoins & Stablecoins Development, Attack Simulation, and Auditing Lastname: ______________ First name:____________Date_______ TA_Prove_ Yes/No 1. Overview This lab guides students through designing, implementing, deploying, testing, and auditing a simple memecoin (ERC‑20) and a minimal ecosystem around it (liquidity pool,

Blockchain Presentation

presentation about a blockchain Term Project CIS 5730- Blockchain Application Project Guideline Part ii–Presentation Along with the project you will present what you did to the class in a short presentation. If you want, you can demonstrate the project, or just present an overview of what you did. Presentations should

Network Threats

  Questions: Below is a list of common network attacks: Distributed Denial of Service (DDoS) DNS poisoning ARP poisoning Domain hijacking MAC flooding MAC cloning Man-in-the-Middle Explain two of these network attacks and discuss methods/techniques for protecting the network against them.

Best Practices for Role-Based Privilege Management in Databases

  Research the best practices for managing and securing role-based privileges in databases and address the following questions in your discussion post:  What are the key challenges in managing role-based privileges, and how do they impact database security? Can you provide a real-world scenario where poor role-based privilege management led

Computer Science Cloud Computing assignment

Please see attachment for details 4 [ Note: To complete this template, replace the bracketed text with your own content. Remove this note before you submit your paper.] Cloud Computing Evaluation Paper 1 Cloud Computing [Differentiate between cloud computing models and their uses. What are the different types of deployment

Computer Science- Python Python Programming Assignment

Computer Science Python Programming Lab assignment help. Design a Python program that calculates a credit card customer’s minimum payment based on their balance. Please use If Else and elif statements in your code. You must add comments in your code. Please round the minimum payment to two decimal places using

Blockchain Application

I need help with my coursework project. Let me know if you need any help from me.  Lab 2: Blockchain-Based Academic Credentials Lab Lastname: ______________ Firstname:________________ 1. Overview AETHELRED UNIVERSITY Registrar’s Office wants to start issuing a digital transcripts and diploma for graduating students. You are called to build the

LOREM, IPSUM

The ability to develop a risk register is a skill needed by all cybersecurity leaders when assessing cybersecurity risks. A risk register provides a detailed listing of known risks as well as quantitative or qualitative assessments of those risks, resulting in the prioritization of action.

Virtual LANs

  Questions: A VLAN allows different devices to be connected virtually to each other as if they were in a LAN sharing a single broadcast domain. 1. Why a network engineer would want to deploy VLANs? 2. How do VLANs improve network security?

compliance and rules to follow in cybersecurity.

Follow the attached instructions to complete this work. Note: Make sure to follows rubric or aligns with Rubric. Unit 8 Assignment Directions: Case Study Review the following hypothetical case study. Consider the big-picture ideas and the specific concerns. Make use of the key terms and concepts from the readings in

Discussion on data ( computer science)

Follow the attached direction to complete this work Unit 7 Discussion   Overview Consider this scenario: PQR Corporation provides facial recognition technology to customers. Its products include customer access to consumer electronics as well as mass surveillance capabilities through networked camera systems. While operating legally, PQR has maintained a low

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 ????