Overview
SHA1 Hash: | 3893826f557576acda676c5ad51b321bd6bbdf86 |
---|---|
Date: | 2012-07-16 17:06:06 |
User: | kinaba |
Comment: | dangerness loosened. |
Timelines: | family | ancestors | descendants | both | trunk |
Diffs: | redesign |
Downloads: | Tarball | ZIP archive |
Other Links: | files | file ages | manifest |
Tags And Properties
- branch=trunk inherited from [16f0b5784f]
- sym-trunk inherited from [16f0b5784f]
Changes
Modified score_memo.txt from [72b9e1358278646f] to [5d3a7e642fe7e1a6].
4 contest4 561? 4 contest4 561? 5 contest5 1281? 5 contest5 1281? 6 contest6 737 // 一度通り過ぎるとふさがってしまう曲がり道 6 contest6 737 // 一度通り過ぎるとふさがってしまう曲がり道 7 contest7 867? 7 contest7 867? 8 contest8 1245 // むり 8 contest8 1245 // むり 9 contest9 3041? 9 contest9 3041? 10 contest10 2340 // "λの上に岩" トラップが複数 10 contest10 2340 // "λの上に岩" トラップが複数 11 flood1 569 // 崩すの怖がりすぎ | 11 flood1 937? 12 flood2 281! 12 flood2 281! 13 flood3 852 // 溺死 13 flood3 852 // 溺死 14 flood4 982 // むずかしい岩崩し 14 flood4 982 // むずかしい岩崩し 15 flood5 561? 15 flood5 561? 16 trampoline1 291 // むずかしい岩崩し 16 trampoline1 291 // むずかしい岩崩し 17 trampoline2 1732? 17 trampoline2 1732? 18 trampoline3 3255 // "上に岩" ワープゾーン版 18 trampoline3 3255 // "上に岩" ワープゾーン版
Modified src/solver.d from [a41fda48c5fe0806] to [accda2201a6a857e].
288 } 288 } 289 289 290 return c; 290 return c; 291 } 291 } 292 292 293 Tuple!(char,int)[] search(in Game g, in Pos s, in Pos[] gs, string death 293 Tuple!(char,int)[] search(in Game g, in Pos s, in Pos[] gs, string death 294 { 294 { > 295 bool very_danger(int y, int x) > 296 { > 297 if(g.map[y,x] == ' ' || g.map[y,x] == 'R') > 298 return false; > 299 if(is_rocky(g.map[y+1,x])) > 300 return true; > 301 return false; > 302 } 295 bool danger(int y, int x) 303 bool danger(int y, int x) 296 { 304 { 297 if(g.map[y,x] == ' ' || g.map[y,x] == 'R') 305 if(g.map[y,x] == ' ' || g.map[y,x] == 'R') 298 return false; 306 return false; 299 if(is_rocky(g.map[y+1,x])) 307 if(is_rocky(g.map[y+1,x])) 300 return true; 308 return true; 301 if(is_rocky(g.map[y+1,x-1]) && (g.map[y,x-1]=='\\'||is_r 309 if(is_rocky(g.map[y+1,x-1]) && (g.map[y,x-1]=='\\'||is_r ................................................................................................................................................................................ 311 return false; 319 return false; 312 } 320 } 313 321 314 // avoid directly below '*' 322 // avoid directly below '*' 315 Tuple!(char,int)[] tryA() { 323 Tuple!(char,int)[] tryA() { 316 const(Pos)[] q; 324 const(Pos)[] q; 317 foreach(p; gs) 325 foreach(p; gs) 318 if(!danger(p.y,p.x)) | 326 if(!very_danger(p.y,p.x)) 319 q ~= p; 327 q ~= p; 320 bool[][] v = new bool[][](g.map.H+2, g.map.W+2); 328 bool[][] v = new bool[][](g.map.H+2, g.map.W+2); 321 foreach(p; q) v[p.y][p.x]=true; 329 foreach(p; q) v[p.y][p.x]=true; 322 bool first_step = true; 330 bool first_step = true; 323 for(int step=1; q.length; ++step) { 331 for(int step=1; q.length; ++step) { 324 Pos[] q2; 332 Pos[] q2; 325 foreach(p; q) { 333 foreach(p; q) {