public void GenerateIcons() {
        icons = new ImageIcon[6];
        icons[0] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        icons[1] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        icons[2] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        icons[3] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        icons[4] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        icons[5] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR));
        Graphics g;
        Graphics2D g2;
        Color transparent = new Color(0, 0, 0, 0);

        // 0= blue 1
        try {
            g = icons[0].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(Color.blue);
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(2, 6, 8, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 16, 6, 6);
        g.fillRect(6, 18, 14, 2);
        g.setColor(Color.blue);
        g.fillRect(2, 6, 8, 2);

        // 1= blue 2
        try {
            g = icons[1].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(Color.blue);
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(2, 6, 8, 2);
        g.fillRect(8, 28, 10, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 14, 6, 6);
        g.fillRect(6, 16, 14, 2);
        g.setColor(Color.blue);
        g.fillRect(8, 6, 8, 2);

        // 2= blue 3
        try {
            g = icons[2].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(Color.blue);
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(12, 24, 2, 4);
        g.fillRect(0, 28, 6, 2);
        g.fillRect(20, 28, 6, 2);
        g.fillRect(8, 30, 10, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 12, 6, 6);
        g.fillRect(6, 14, 14, 2);
        g.setColor(Color.blue);
        g.fillRect(18, 6, 8, 2);

        // 3= green 1
        try {
            g = icons[3].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(Color.green);
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(2, 6, 8, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 16, 6, 6);
        g.fillRect(6, 18, 14, 2);
        g.setColor(Color.green);
        g.fillRect(2, 6, 8, 2);

        // 4= orange 2
        try {
            g = icons[4].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(new Color(255, 128, 0));
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(2, 6, 8, 2);
        g.fillRect(8, 28, 10, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 14, 6, 6);
        g.fillRect(6, 16, 14, 2);
        g.setColor(new Color(255, 128, 0));
        g.fillRect(8, 6, 8, 2);

        // 5= green 3
        try {
            g = icons[5].getImage().getGraphics();
        }
        catch (NullPointerException e) {
            System.out.println("Could not get Graphics pointer to " + getClass() + " Image");
            return;
        }
        g2 = (Graphics2D) g;
        g2.setBackground(transparent);
        g2.clearRect(0, 0, width, height);
        g.setColor(Color.green);
        g.fillRect(8, 0, 8, 2);
        g.fillRect(0, 2, 26, 10);
        g.fillRect(4, 12, 18, 12);
        g.fillRect(0, 16, 26, 6);
        g.fillRect(12, 24, 2, 8);
        g.fillRect(12, 24, 2, 4);
        g.fillRect(0, 28, 6, 2);
        g.fillRect(20, 28, 6, 2);
        g.fillRect(8, 30, 10, 2);
        g.setColor(Color.black);
        g.fillRect(2, 4, 22, 6);
        g.fillRect(10, 12, 6, 6);
        g.fillRect(6, 14, 14, 2);
        g.setColor(Color.green);
        g.fillRect(18, 6, 8, 2);

        if (animationState == 4) {
            animationState = 0;
        }
        int frame = animationState;
        if (animationState == 3) {
            frame = 1;
        }
        if (!alive) {
            frame += 3;
        }
        currentIcon = icons[frame].getImage();
    }