Differences From Artifact [09842c914b3d99f0]:
- File
src/game.d
- 2012-07-15 02:11:16 - part of checkin [3a08e528e7] on branch trunk - Using razor. (user: kinaba) [annotate]
To Artifact [5d6b45c159e125db]:
- File
src/game.d
- 2012-07-15 02:16:47 - part of checkin [34bbd14c1a] on branch trunk - Razor searching. (user: kinaba) [annotate]
216 216 }
217 217
218 218 void opIndexAssign(char c, in Pos p)
219 219 {
220 220 this[p.y, p.x] = c;
221 221 }
222 222
223 - Pos[] lambdas() const {
223 + Pos[] objects(char c) const {
224 224 Pos[] ans;
225 225 for(int y=1; y<=H; ++y)
226 226 for(int x=1; x<=W; ++x)
227 - if(this[y,x] == '\\')
227 + if(this[y,x] == c)
228 228 ans ~= new Pos(y,x);
229 229 return ans;
230 230 }
231 231
232 + Pos[] razors() const { return objects('!'); }
233 + Pos[] lambdas() const { return objects('\\'); }
234 +
232 235 bool cleared() const
233 236 {
234 237 for(int y=1; y<=H; ++y)
235 238 for(int x=1; x<=W; ++x)
236 239 if(this[y,x] == 'L' || this[y,x] == 'O')
237 240 return false;
238 241 return true;