anchor.diff:  part of DartyDiceWars;
   
  +/* Controllerpart of the MVC structure of DiceWars
  + * 
  + * Here, the Playerinput and the general flow of the game are handled. Also,
  + * the given file containing levelinformation is loaded via the DiceController.
  + * 
  + * This class creates all subsequent classes needed to run the Game
  + */
   class DiceController {
  +  /*
  +   * Controller variables:
  +   * final view - View module of the game
  +   * DiceGame game - Model module of the game
  +   * XmlNode level - the imported levelfile
  +   * int maxlevels - maximum number of levels in the current session
  +   * String last - ID of the last clicked tile. Only way to prevent mutiple clicks
  +   *               on a tile to be registered.
  +   */
     final view = new DiceView();
     DiceGame game;
     XmlNode level;
     int maxlevels;
     String last = "";
  -
  +  
  +  /*
  +   * Constructor for the DiceController. 
  +   * Here, all the Listeners for Playerinput are handled. Detailed explanations 
  +   * for the exact usage are above each Listener.
  +   */
     DiceController() {
  +    /*
  +     * Starts a new game with the first level of the levelsfile. The displayed
  +     * Button also gets disabled to prevent the creation of multiple games at 
  +     * the same time.
  +     */
       view.startButton.onClick.listen((_) {
         if (level == null) {
           view.startButton.style.display = "none";
           startGame(1);
         }
       });
  -
  -    view.arena.onMouseLeave.listen((ev) {
  -      view.showHover("");
  -    });
  -
  +    
  +    /*
  +     * Listener for the Hoverfunction of the territories. Only one territory can
  +     * be hovered at one time and a territory cannot be selected and hovered at 
  +     * once.
  +     */
       view.arena.onMouseEnter.listen((ev) {
         if (game.currentPlayer.id == "human") {
           querySelectorAll('.hex').onMouseOver.listen((_) {
  
positive.code:     }
    }
  
    //gets the next player and
    nextTurn() {
      if (!(game.players.length > 2)) {
        if (game.currentPlayer.id == "human") {
          print("CURRENT GAME WON. DANK M8");
          view.showMessage("CURRENT GAME WON. DANK M8");
                int nextLevel = (int.parse(game.level.attributes[0].value)) + 1;
                game = null;
                new Timer(new Duration(milliseconds: 5000), () => startGame(nextLevel));
                return;
        } else {
          print("DAMN SON. YOU LOST");
          view.showMessage("DAMN SON. YOU LOST");
          game = null;
                        startGame(1);
                        return;
        }
        
  
negative.code:             }
            }
          }
        });
      });
  
      /*
       * Finishes the current playerturn on click
       */
      view.endTurn.onClick.listen((_) {
        if (game != null && game.currentPlayer.id == "human") {
          if (game.firstTerritory != null) {
  