public static void main(String[] args) {
        //Setting up game stuff
        FieldDescriptorsFactory fdf = args.length != 0 && args[0] == "sq" ?
                new SquareFieldDescriptorsFactory() :
                new HexFieldDescriptorsFactory();
        Field.init(15, 15, fdf);
        
        Field.getInstance().addMovable(new Drinker(0, 0));
        Field.getInstance().addStationary(new Column(7, 7));
        Field.getInstance().addOutside(new Tavern(9, -1, 20));
        Field.getInstance().addStationary(new Light(10, 3, 3));
        Field.getInstance().addOutside(new PoliceStation(15, 3, 1));//3));
        Field.getInstance().addOutside(new MumperHouse(-1, 4, 30));
        
        // More fun
        /*
        Field.getInstance().addStationary(new Light(12, 7,3));
        Field.getInstance().addMovable(new Drinker(10, 2));
        Field.getInstance().addStationary(new Column(10, 4));
        Field.getInstance().addOutside(new Tavern(15, 7, 5));
        Field.getInstance().addOutside(new Tavern(15, 10, 5));
        Field.getInstance().addOutside(new MumperHouse(15, 13, 20));
        */
        
        for (int i = 1; i <= NUMBER_OF_TRIALS; i++) {
            Field.getInstance().simulateRound();
            if (sTrialsToBeShown.isEmpty() || sTrialsToBeShown.contains(i)) {
                FieldConsoleWriter.printField();
            }
            Field.getInstance().handleEndTurn();
            
            if (sTrialsToBeShown.isEmpty()) {
                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) {
                }
            }
        }
    }