Advertisement
Guest User

Untitled

a guest
Mar 8th, 2014
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1.  
  2. public class Layout {
  3. private int dimensionX;
  4. private int dimensionY;
  5. private char[] grid;
  6.  
  7. Layout(int dimensionX, int dimensionY){
  8. this.dimensionX = dimensionX;
  9. this.dimensionY = dimensionY;
  10. grid = new char[dimensionX * dimensionY];
  11. buildLayout(grid);
  12. }
  13.  
  14. private void buildLayout(char[] grid){
  15. for(int i = 0; i < grid.length; i++){
  16. grid[i] = '.';
  17. }
  18. stringRep(grid);
  19. }
  20.  
  21. public char[] getLayout(){
  22. return grid;
  23. }
  24.  
  25. public int getX(){
  26. return dimensionX;
  27. }
  28.  
  29. private int getY(){
  30. return dimensionY;
  31. }
  32.  
  33. public void stringRep(char[] layout){
  34. for(int i = 0; i < layout.length; i++){
  35. System.out.print(layout[i]);
  36. if(i % dimensionX == dimensionX - 1){
  37. System.out.println();
  38. }
  39. }
  40. System.out.println();
  41. }
  42.  
  43. public void getStatistics(Layout layout){
  44. int[] counter = {0, 0, 0, 0};
  45. for(int i = 0; i < layout.getLayout().length; i++){
  46. if(layout.getLayout()[i] == LayoutPopulator.TileTypes.Water.icon){
  47. counter[0]++;
  48. } else if (layout.getLayout()[i] == LayoutPopulator.TileTypes.Ground.icon){
  49. counter[1]++;
  50. } else if (layout.getLayout()[i] == LayoutPopulator.TileTypes.House.icon){
  51. counter[2]++;
  52. } else {
  53. counter[3]++;
  54. }
  55. }
  56.  
  57. System.out.println("Statistics: ");
  58. System.out.println("Total tiles: " + layout.getX() * layout.getY());
  59. System.out.println("Water tiles: " + counter[0] + " " + "(" + (counter[0] / (double) (layout.getX() * layout.getY())) * 100.0 + "%)");
  60. System.out.println("Ground tiles: " + counter[1] + " " + "(" + (counter[1] / (double) (layout.getX() * layout.getY())) * 100.0 + "%)");
  61. System.out.println("House tiles: " + counter[2] + " " + "(" + (counter[2] / (double) (layout.getX() * layout.getY())) * 100.0 + "%)");
  62. System.out.println("Boat tiles: " + counter[3] + " " + "(" + (counter[3] / (double) (layout.getX() * layout.getY())) * 100.0 + "%)");
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement