code: function(num){
  		var bd = this.board, piece = bd.getObjectPos(this.group, this.bx, this.by);
  		if(this.group!==piece.group){ return true;}
  		
  		if(this.pos===null){
  			piece.setdata(this.property, num);
  		}
  		else{
  			piece.setdata2(this.property, this.pos, num);
  		}
  		piece.draw();
  		
  		switch(this.property){
  			case 'qcmp': bd.cell.each(function(cell){ if(piece===cell.base){ cell.draw();}}); break;
  			case 'qsub': break;
  			default:     this.puzzle.checker.resetCache(); break;
  		}
  	}
docs: --------------------------------------------------------------------------- ope.exec()  操作opeを反映する。ope.undo(),ope.redo()から内部的に呼ばれる ---------------------------------------------------------------------------