code: function(){
  		var opemgr = this.puzzle.opemgr;
  		var bd = this.board;
  		var len = this.readLine().match(/TrialData\((\d+)\)/)[1]|0;
  		for(var i=len-1;i>=0;i--){
  			var opes = [];
  			var bd1 = bd.freezecopy();
  			bd.allclear(false);
  			this.decodeData();
  			bd.compareData(bd1, function(group,c,a){
  				var obj = bd[group][c];
  				var old = obj[a];
  				var num = bd1[group][c][a];
  				opes.push(new this.puzzle.klass.ObjectOperation(obj, a, old, num));
  			});
  			opemgr.history.unshift(opes);
  			opemgr.history.unshift([new this.puzzle.klass.TrialEnterOperation(i, i+1)]);
  			opemgr.trialpos.unshift(i*2);
  			this.readLine();	// 次の"TrialData"文字列は読み捨て
  		}
  		opemgr.position = opemgr.history.length;
  		opemgr.resumeTrial();
  	}
docs: --------------------------------------------------------------------------- fio.decodeTrial() 仮置きデータを復旧する fio.encodeTrial() 仮置きデータを出力する ---------------------------------------------------------------------------