computer science program

profileromadallas
Homework4.docx

Kadyr Akova

Cosc 1437

D. Kirk

Enemy.java

import java.util.Random;

public class Enemy extends GameObject {

String Race;

int Speed;

public Enemy(String race) {

do{

Xpos = new Random().nextInt(37)+3;

Ypos = new Random().nextInt(15)+3;

} while(World[Xpos][Ypos] != ' ');

if (race.equals("Orc")) {

Race = race;

HP = 50;

Attack = 5;

Armor = 20;

Speed = 1;

Avatar = 'O';

World[Xpos][Ypos] = Avatar;

}

if (race.equals("Troll")) {

Race = race;

HP = 50;

Attack = 10;

Armor = 30;

Speed = 2;

Avatar = 'T';

World[Xpos][Ypos] = Avatar;

}

}

}

GameObject.java

public class GameObject {

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

protected int Xpos, Ypos;

protected char Avatar;

protected int HP;

protected int Attack;//it is the player`s attacking power '+'

protected int Armor;//it is the player`s defending power '$'

public void PrintWorld() {

for (int y = 1; y <= 20; y++) {

for (int x = 1; x <= 40; x++) {

System.out.print(World[x][y]);

// optionally put a space

if (x < 40) {

System.out.print(" ");

}

}

System.out.println();

}

}

public void MoveRight() {

if (World[Xpos + 1][Ypos] == ' ' || World[Xpos + 1][Ypos] == 'T') {

World[Xpos][Ypos] = ' ';

Xpos++;

World[Xpos][Ypos] = Avatar;

}

else if (World[Xpos + 1][Ypos] == '+') {

World[Xpos][Ypos] = ' ';

Xpos++;

World[Xpos][Ypos] = Avatar;

Attack=Attack+10;

}

else if (World[Xpos + 1][Ypos] == '$') {

World[Xpos][Ypos] = ' ';

Xpos++;

World[Xpos][Ypos] = Avatar;

Armor=Armor+5;

}

else{

}

}

public void MoveLeft() {

if (World[Xpos - 1][Ypos] == ' ' || World[Xpos - 1][Ypos] == 'T') {

World[Xpos][Ypos] = ' ';

Xpos--;

World[Xpos][Ypos] = Avatar;

}

else if (World[Xpos - 1][Ypos] == '+') {

World[Xpos][Ypos] = ' ';

Xpos--;

World[Xpos][Ypos] = Avatar;

Attack=Attack+10;

}

else if (World[Xpos - 1][Ypos] == '$') {

World[Xpos][Ypos] = ' ';

Xpos--;

World[Xpos][Ypos] = Avatar;

Armor=Armor+5;

}

else{

}

}

public void MoveUp() {

if (World[Xpos][Ypos - 1] == ' ' || World[Xpos][Ypos - 1] == 'T') {

World[Xpos][Ypos] = ' ';

Ypos--;

World[Xpos][Ypos] = Avatar;

}

else if (World[Xpos][Ypos - 1] == '+') {

World[Xpos][Ypos] = ' ';

Ypos--;

World[Xpos][Ypos] = Avatar;

Attack=Attack+10;

}

else if (World[Xpos][Ypos-1] == '$') {

World[Xpos][Ypos] = ' ';

Ypos--;

World[Xpos][Ypos] = Avatar;

Armor=Armor+5;

}

else{

}

}

public void MoveDown() {

if (World[Xpos][Ypos + 1] == ' ' || World[Xpos][Ypos + 1] == 'T') {

World[Xpos][Ypos] = ' ';

Ypos++;

World[Xpos][Ypos] = Avatar;

}

else if (World[Xpos][Ypos + 1] == '+') {

World[Xpos][Ypos] = ' ';

Ypos++;

World[Xpos][Ypos] = Avatar;

Attack=Attack+10;

}

else if (World[Xpos][Ypos + 1] == '$') {

World[Xpos][Ypos] = ' ';

Ypos++;

World[Xpos][Ypos] = Avatar;

Armor=Armor+5;

}

else{

}

}

}

Player.java

public class Player extends GameObject {

String Name;

int Gold;

Player(String n, char Av) {

Attack=10;

Armor=0;

Name = n;

for (int x = 1; x <= 40; x++) {

for (int y = 1; y <= 20; y++) {

World[x][y] = ' ';

}

}

Avatar = Av;

// don't forget to put the player into the world

Xpos = 2;

Ypos = 2;

World[Xpos][Ypos] = Av;

// 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] = '~';

//creating the weapons, and armor in the World

//'+' representing the Attack power

//'$' representing the Armor power

int randX;

int randY;

for (int i = 0; i < 7; i++) {

do{

randX = new Random().nextInt(37)+3;

randY = new Random().nextInt(15)+3;

} while(World[randX][randY] != ' ');

World[randX][randY] = '+';

}

for (int i = 0; i < 7; i++) {

do{

randX = new Random().nextInt(37)+3;

randY = new Random().nextInt(15)+3;

} while(World[randX][randY] != ' ');

World[randX][randY] = '$';

}

}

}

game.java

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 Kirk = new Player("Kirk", 'K');

int temp;

Enemy[] enemies = new Enemy[12];

for (int i = 0; i < enemies.length; i++) {

temp = new Random().nextInt(2);//0 - 1

if (temp == 0){

enemies[i] = new Enemy("Orc");

}

else// if (temp == 1){

{ enemies[i] = new Enemy("Troll");

}

}

// create some enemies here in random locations

while (!Choice.equals("q")) {

Kirk.PrintWorld();

System.out.println("Enter your command: ");

Choice = in.nextLine();

if (Choice.equals("a")) {

Kirk.MoveLeft();

}

if (Choice.equals("d")) {

Kirk.MoveRight();

}

if (Choice.equals("w")) {

Kirk.MoveUp();

}

if (Choice.equals("s")) {

Kirk.MoveDown();

}

}

}

}

Output: