HW 4 COS
PLEASE REVIEW THE INFO BELOW
2 years ago
50
HW.4.docx
HW.4.docx
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
- english 10
- ACC305 Wk 1 Assignments - E3-18, E3-20, JCase 3-5
- English
- Economics Homework
- Write a paper on the topic Internet Addiction
- Database Modeling" Please respond to the following:
- Modernism
- Module 01 Course Project - Memo to Executive Staff
- ACC 291 Week 4 DQ 2
- Discussion Question: technology and patient care