Don't like ads? PRO users don't see any ads ;-)

Untitled

By: TheDuceCat on Jan 28th, 2012  |  syntax: Java  |  size: 1.81 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package com.theducecat.blockdude;
  2.  
  3. import java.awt.Color;
  4. import java.awt.image.BufferedImage;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8.  
  9. import javax.imageio.ImageIO;
  10.  
  11. public class LevelLoader {
  12.         private Block block;
  13.         private BufferedImage levelImage;
  14.         private int width;
  15.         private int height;
  16.         private ArrayList<ArrayList<Block>> blocks;
  17.        
  18.        
  19.         public LevelLoader(String src) {
  20.                 try {
  21.                         levelImage = ImageIO.read(new File(src));
  22.                 } catch (IOException e) {
  23.                         e.printStackTrace();
  24.                 }
  25.                 width = levelImage.getWidth();
  26.                 height = levelImage.getHeight();
  27.                
  28.                 blocks = new ArrayList<ArrayList<Block>>();
  29.                
  30.                 for (int i = 0; i < height; i++) {
  31.                         blocks.add(new ArrayList<Block>());
  32.                         for (int j = 0; j < width; j++) {
  33.                                 // Color Check. Possibly its own class?
  34.                                 //blocks.get(i).add(Block.BLOCK);
  35.                                
  36.                                 int currentPixelColor = levelImage.getRGB(j, i);
  37.                                
  38.                                 Color color = new Color(currentPixelColor, true);
  39.                                
  40.                                
  41.                                 // make new Color(r, g, b) use the equals
  42.                                 // function to check between the set red, green, and blue values.
  43.                                
  44.                                 //System.out.println(color.getAlpha() + " " + color.getRed() + " " + color.getGreen() + " " + color.getBlue());
  45.                                
  46.                                 if (color.equals(PixelColor.WHITE)) {
  47.                                         blocks.get(i).add(Block.BLOCK);
  48.                                 }
  49.                                
  50.                                 else if (color.equals(PixelColor.RED)) {
  51.                                         blocks.get(i).add(Block.BRICK);
  52.                                 }
  53.                                
  54.                                 else if (color.equals(PixelColor.BLUE)) {
  55.                                         blocks.get(i).add(Block.SPAWN);
  56.                                 }
  57.                                
  58.                                 else if (color.equals(PixelColor.BLACK)) {
  59.                                         blocks.get(i).add(Block.DOOR);
  60.                                 }
  61.                                
  62.                                 else if (color.equals(PixelColor.TRANSPARENT)) {
  63.                                         //Add white picture?
  64.                                         blocks.get(i).add(Block.AIR);
  65.                                 }
  66.                         }
  67.                 }
  68.         }
  69.        
  70.         public ArrayList<ArrayList<Block>> getBlocks() {
  71.                 return blocks;
  72.         }
  73. }