anchor.diff:      }
   
       void hitOccupant(Occupant o) {
  -        o.hit = true;
  +        o.setBeingHit(true);
           drawGridSquare(o.location);
  -        new Future.delayed(const Duration(milliseconds: 150), () {
  -            o.hit = false;
  +        new Future.delayed(const Duration(milliseconds: 200), () {
  +            o.setBeingHit(false);
               drawGridSquare(o.location);
           });
       }
  
positive.code:                       num bx0, num by0, num bxlen, num bylen) {
  
          var x = bx0 + bxlen/2;
          var y = by0 + bylen;
  
          if (hit) {
              ctx.fillStyle = "#cd0000";
          } else if (active) {
              ctx.fillStyle = "black";
          } else {
              ctx.fillStyle = "#adadad";
          }
          ctx.textAlign = "center";
          ctx.textBaseline = "bottom";
          ctx.font = "37pt Calibri";
          ctx.fillText("z", x, y);
      }
  
     String toString() { return "Zombie";}
  }
  
  
  
negative.code:         assert(hero == null);
          hero = new Hero(this);
          spawn(hero, p);
          dg.status.updateStatus(dg.ctx, "Move your character (@) with arrows");
          reportTurn();
      }
  
  