Differences From Artifact [b141e39ade797d94]:
- File
src/game.d
- 2012-07-15 15:38:46 - part of checkin [d40deaae5a] on branch trunk - Trampoline factored out. (user: kinaba) [annotate]
To Artifact [fe18e86f2be2ed95]:
- File
src/game.d
- 2012-07-15 23:02:08 - part of checkin [bf626def96] on branch trunk - Fixed bug in simulator that pushed rock may not fall. (user: kinaba) [annotate]
319 robot = new Pos(y+dy,x+dx); 319 robot = new Pos(y+dy,x+dx);
320 } else if(dy==0 && rocky(this[y+dy,x+dx]) && ' '==this[y+dy*2,x+ 320 } else if(dy==0 && rocky(this[y+dy,x+dx]) && ' '==this[y+dy*2,x+
321 char rock = this[y+dy,x+dx]; 321 char rock = this[y+dy,x+dx];
322 this[y,x]=' '; 322 this[y,x]=' ';
323 this[y+dy,x+dx]='R'; 323 this[y+dy,x+dx]='R';
324 this[y+dy*2,x+dx*2]=rock; 324 this[y+dy*2,x+dx*2]=rock;
325 robot = new Pos(y+dy,x+dx); 325 robot = new Pos(y+dy,x+dx);
> 326 may_update ~= new Pos(y+dy*2,x+dx*2);
326 } else if('A'<=this[y+dy,x+dx] && this[y+dy,x+dx]<='I') { 327 } else if('A'<=this[y+dy,x+dx] && this[y+dy,x+dx]<='I') {
327 this[y,x]=' '; 328 this[y,x]=' ';
328 Pos tp = tr.target_pos(this[y+dy,x+dx]); 329 Pos tp = tr.target_pos(this[y+dy,x+dx]);
329 foreach(p; tr.source_pos(this[tp])) { 330 foreach(p; tr.source_pos(this[tp])) {
330 emptified(p); 331 emptified(p);
331 this[p] = ' '; 332 this[p] = ' ';
332 } 333 }