Upload the
.java source code file to Ecampus.
Create an Enemy class, Player class, and GameObject class for your game.java.
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 program 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 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 object to the left. |
MoveUp() | Move the object to the up. |
MoveDown() | Move the object 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 - Race 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;
|
Below is an example screen print showing the player, Orcs, Trolls, armor and weapons.
@
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@
|
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"))
{
Kirk.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"))
Kirk.MoveLeft();
}
}
}