Zum Inhalt springen

Frohe Weihnachten

Es ist wieder ein Jahr rum und von daher bleibt mir nichts anderes übrig als allen Lesern, Mit-Bloggern und allen die ich vergessen habe, ein frohes Weihnachtsfest und einen guten Rutsch ins Jahr 2015 zu wünschen.

         X
        XXX
       XXXXX
      XXXOXXX
     OXOXOXOXX
    OOXOOXXXXXX
   XXOXOXXXXXXXX
  XXXXOOXXXXXXXOX
 XXXXXOXOXOXXXXXXX
XXXXXXXXXXXXXXXXXXX
         X
         X


Und hier gibt es dazu den Quellcode – schließlich geht es ja doch auch oder vor allem an Weihnachten um den Spaß an der Technik:

package de.phpmonkeys.xmas2014;

import java.io.IOException;
import sun.misc.BASE64Decoder;

public class XmasTree {

    public static final String DEFAULT_ENCODING = "UTF-8";
    static BASE64Decoder dec = new BASE64Decoder();

    public static void main(String[] args) {
	XmasTree tree = new XmasTree();
	tree.draw(10);
    }

    public void draw(int n) {
        String tree = triangle(n);
        tree += trunk(2, n);
        tree += addText("RnJvaGUgV2VpaG5hY2h0ZW4NCiAgdW5kIGVpbiBzY2jDtm5lcw0KICAgIG5ldWVzIEphaHI=");
	System.out.println(tree);
    }

    private String triangle(int max) {
	String triangleText = "";
        for (int i = 0; i < max; i++) {
            for (int j = 0; j < max - i - 1; j++) {
                triangleText += " ";
            }
            for (int j = 0; j < i * 2 + 1; j++) {
                triangleText += (isCTB() ? "O" : "X");
            }
            triangleText += '\n';
        }
	return triangleText;
    }

    private String trunk(int height, int max) {
	String trunkText = "";
        for (int i = 0; i < height; i++) {
            for (int j = 0; j < max - 1; j++) {
                trunkText += " ";
            }
            trunkText += "X\n";
        }
	return trunkText;
    }

    private boolean isCTB() {
        return (Math.random() > 0.8);
    }

    public String base64decode(String text) {
        try {
            return new String(dec.decodeBuffer(text), DEFAULT_ENCODING);
        } catch (IOException e) {
            return null;
        }

    }

    private String addText(String text) {
	return "\n" + base64decode(text) + "\n";
    }
}
Published inAllgemein

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close