|
8 | 8 | MouseEvent: { |
9 | 9 | use: true, |
10 | 10 | inputModes: { |
11 | | - edit: ["number", "clear"], |
12 | | - play: ["pin", "peke", "clear"] |
| 11 | + edit: ["number", "clear", "info-blk"], |
| 12 | + play: ["pin", "peke", "clear", "info-blk"] |
13 | 13 | }, |
14 | 14 |
|
15 | 15 | mouseinput_auto: function() { |
|
24 | 24 | } |
25 | 25 | }, |
26 | 26 |
|
| 27 | + dispInfoBlk: function() { |
| 28 | + var cell = this.getcell(); |
| 29 | + var crosses = cell.dotCrosses(); |
| 30 | + var cross = cell.isNum() |
| 31 | + ? crosses[0] |
| 32 | + : crosses.filter(function(c) { |
| 33 | + return c.qans === 1; |
| 34 | + })[0]; |
| 35 | + |
| 36 | + this.mousereset(); |
| 37 | + if (!cross || !cross.dblk) { |
| 38 | + return; |
| 39 | + } |
| 40 | + cross.dblk.clist.setinfo(1); |
| 41 | + this.board.hasinfo = true; |
| 42 | + this.puzzle.redraw(); |
| 43 | + }, |
| 44 | + |
27 | 45 | mouseinput_other: function() { |
28 | 46 | if (this.inputMode === "pin") { |
29 | 47 | this.inputdot(1); |
|
243 | 261 | this.drawTarget(); |
244 | 262 | }, |
245 | 263 |
|
| 264 | + getQuesCellColor: function(cell) { |
| 265 | + if (cell.qnum === -1) { |
| 266 | + return null; |
| 267 | + } |
| 268 | + var err = cell.error || cell.qinfo; |
| 269 | + if (!err) { |
| 270 | + var cross = cell.dotCrosses().filter(function(c) { |
| 271 | + return c.error || c.qinfo; |
| 272 | + })[0]; |
| 273 | + err = cross ? cross.error || cross.qinfo : 0; |
| 274 | + } |
| 275 | + if (err === 1) { |
| 276 | + return this.errcolor1; |
| 277 | + } |
| 278 | + return this.quescolor; |
| 279 | + }, |
| 280 | + |
246 | 281 | getQuesNumberColor: function(cell) { |
247 | 282 | return cell.qcmp === 1 ? this.qcmpcolor : this.fontShadecolor; |
248 | 283 | }, |
|
295 | 330 | if (!dot.qans) { |
296 | 331 | return this.pekecolor; |
297 | 332 | } |
298 | | - return dot.error === 1 |
| 333 | + var err = dot.error || dot.qinfo; |
| 334 | + return err === 1 |
299 | 335 | ? this.errcolor1 |
300 | | - : dot.error === -1 |
| 336 | + : err === -1 |
301 | 337 | ? this.noerrcolor |
302 | 338 | : this.qanscolor; |
303 | 339 | } |
|
327 | 363 | } |
328 | 364 | }, |
329 | 365 | AnsCheck: { |
330 | | - checklist: ["checkOverlap", "checkDir4DiamondOver", "checkDir4DiamondLess"], |
| 366 | + checklist: [ |
| 367 | + "checkOverlap", |
| 368 | + "checkDir4DiamondOver", |
| 369 | + "checkDir4DiamondLess", |
| 370 | + "checkDiamondConnect+" |
| 371 | + ], |
| 372 | + |
| 373 | + checkDiamondConnect: function() { |
| 374 | + this.checkOneArea(this.board.diamondgraph, "lnPlLoop"); |
| 375 | + }, |
331 | 376 |
|
332 | 377 | checkOverlap: function() { |
333 | 378 | for (var c = 0; c < this.board.cross.length; c++) { |
|
0 commit comments