Tuesday, October 26, 2010

LabTest#2: Revised Solution -- Section 5 -- Class: Dungeon

public class Dungeon 
{
 
 
private Tile[][] theDungeon;
 
 
public Dungeon()
 
{
  theDungeon
= new Tile[10][10];
 
 
for(int i = 0; i < 10; i++)
 
{
   
for(int j = 0; j < 10; j++)
   
{
    theDungeon
[i][j] = new Tile();
   
}
 
}
 
}
 
 
/* ************************************************************* */
 
 
public void addMonsters(Monster m, int x, int y)
 
{
 
if(x < 0 || x > 10)
   
System.out.println("Out of Range");
 
 
if(y < 0 || y > 10)
   
System.out.println("Out of Range");
 
 
// Add the monster
  theDungeon
[x][y].addTheMonster(m);
 
}
 
 
/* ***************************************************************** */
 
 
public void deleteMonsters(int x, int y)
 
{
 
// Gets the array of monsters at Dungeon[x][y]
 
Monster[] m_xy = theDungeon[x][y].getMonsters();
 
 
for(int i = 0; i < theDungeon[x][y].getSize(); i++)
 
{
   m_xy
[i].setLiveStatus(Monster.LiveStatus.DEAD);
   
System.out.println("Monster: "
     
+ m_xy[i] + " AT DUNGEON[" + x + "][" + y + "] GETS EATEN  UP");
 
}
 
 
// Creating an empty array of Monster[] type:
 
Monster[] newMonsterArray = new Monster[100];
 
 
// Replace the Monster[] array of this TILE with an empty one
  theDungeon
[x][y].setMonsters(newMonsterArray);
  theDungeon
[x][y].setSize(0);
 
}
 
 
/* ***************************************************************** */
 
 
// Returns the 2D Array
 
public Tile[][] getTheDungeon()
 
{
 
return theDungeon;
 
}
 
 
/* ***************************************************************** */
 
 
public String toString()
 
{
 
String Str = "";
 
String contents = "";
 
 
for(int i = 0; i < 10; i++)
 
{
   
for(int j = 0; j < 10; j++)
   
{
   
    contents
= theDungeon[i][j].toString();
   
   
if(!contents.equals(""))
   
{
     
Str += String.format("DUNGEON[%d][%d] CONTAINS :: %n %s %n",i, j, contents);
   
}
   
else
   
{
     
//Str += String.format("DUNGEON[%d][%d] CONTAINS :: %n EMPTY %n",i, j);
   
}
   
}
 
}
 
 
return Str;
 
}
 
 
/* ***************************************************************** */
 
 
}

No comments: