Add Akari game

master
Guillaume Dott 2014-12-11 17:26:08 +01:00
parent d3e23dd31e
commit 9112b73db9
7 changed files with 244 additions and 7 deletions

103
data/akari/0.yml 100644
View File

@ -0,0 +1,103 @@
---
name: Akari 7x7 easy
data:
- [[-2,-2,-2,-2,-2,0,-2],[1,-2,-2,-2,2,-2,-2],[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,-2,-1,-2,-2,-2,3],[-2,2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,0,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,4,-2,3,-2,-2],[1,-2,-2,-1,-2,-2,-1],[-2,-2,3,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,1,-2,-2,-2],]
- [[-2,-2,-2,-2,-1,0,-2],[1,-2,-2,-2,-2,-2,-2],[-1,-2,-2,3,-2,-2,-2],[-2,-2,1,-2,3,-2,-2],[-2,-2,-2,-1,-2,-2,-1],[-2,-2,-2,-2,-2,-2,0],[-2,1,1,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,-1,-2,1,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-1,0,-1,-1,3,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,3,-2,3,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-1,-2,-2,-2,-2,-2],[-2,-1,0,-2,-2,1,0],[-2,-2,-2,-2,-2,1,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,2,-2,-2,-2,-2,-2],[1,0,-2,-2,2,-1,-2],[-2,-2,-2,-2,-2,0,-2],]
- [[-2,-2,-2,2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,3,-2,-1,-2,-2],[0,-2,-2,4,-2,-2,1],[-2,-2,3,-2,3,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,1,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,2,-2],[-1,-2,1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,3,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-2,0],[-2,0,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,2,-2,-2],[-2,-1,-2,-2,-2,-1,-2],[-2,-2,-2,1,-2,-2,-2],[-2,3,-2,-2,-2,4,-2],[-2,-2,3,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-1,-2,0,-2],[0,-2,0,-2,-2,-2,-2],[-2,-2,-2,-2,-2,0,-2],[0,-2,-2,-2,-2,-2,-1],[-2,2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,1,-2,-1],[-2,-1,-2,0,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,0,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,4,-2,-2,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,1,-2,0,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-1,3,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,2,-2,-2,-2,-1,-2],[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,1,-1,-2,-2],[-1,-2,-2,-2,-2,-2,1],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,0,0,-2,-2],[-2,1,-2,-1,-2,-2,-2],[-2,0,-1,-2,-1,0,-2],[-2,-2,-2,2,-2,-1,-2],[-2,-2,-1,0,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-1,-1,-2,-2,-2,-2],[-2,-2,2,-2,-2,-2,1],[-2,-2,-2,-2,-2,2,-1],[-2,-2,-2,-1,-2,-2,-2],[1,1,-2,-2,-2,-2,-2],[0,-2,-2,-2,-1,-2,-2],[-2,-2,-2,-2,0,0,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,2,-2,0,-2,2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,0,-2,-2,-2,3,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,2,-2,-1,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-2,4,-2,-2,-2],[-2,-2,4,-2,-1,-2,-2],[-2,-1,-2,-1,-2,-1,-2],[-2,-2,4,-2,-1,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-1,-2,-2,-2,-2,-2,2],]
- [[-2,-2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,4,-2,-2,-1],[-2,-2,3,-2,-1,-2,-2],[0,-2,-2,4,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,1,-2,-2],]
- [[-2,1,-2,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,1],[0,-2,-2,-1,-2,-2,-2],[-2,-2,2,-2,1,-2,-2],[-2,-2,-2,1,-2,-2,-1],[2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-2,1,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,3,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,1,-2,1,-2,1,-2],[-2,0,-2,-2,-2,-2,-2],[-2,-2,-2,0,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,1,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-2,-2,-2,-2,-2],[0,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,1,-2,-2,-2],]
- [[-2,2,-2,-2,-2,-2,-2],[-2,-2,-2,0,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,1,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],[3,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],]
- [[-2,-2,-2,1,-2,-2,-2],[-2,-1,-1,-2,-2,0,-2],[-2,-2,-2,-2,-2,0,-2],[2,-2,-2,-2,-2,-2,-1],[-2,-1,-2,-2,-2,-2,-2],[-2,1,-2,-2,1,3,-2],[-2,-2,-2,-1,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],[-2,-1,-2,-2,-2,-1,-2],[-2,3,-2,-2,-2,-2,-2],[-2,-2,-2,-1,0,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-1,-2,1,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,3],[-2,-2,-1,-1,-1,-2,-2],[3,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,0,-2,-1],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,2,-2,1,-2,-2],[-2,4,-2,-2,-2,2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,-2,-2,-1,-2],[-2,-2,-1,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,0,-2,-2],[-2,1,3,-2,2,-2,-2],[-2,-2,-2,4,-2,-2,-2],[-2,-2,-1,-2,2,0,-2],[-2,-2,2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-1,-2,-2],[-2,-2,3,-2,-2,-2,-2],[-1,-2,-2,3,-2,2,-2],[-2,-2,2,-2,4,-2,-2],[-2,0,-2,-1,-2,-2,0],[-2,-2,-2,-2,-1,-2,-2],[-2,-2,2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-1,-2,-2],[-2,0,-2,-2,-2,3,-2],[1,-2,-2,3,-2,-2,-2],[-2,-2,2,-2,2,-2,-2],[-2,-2,-2,3,-2,-2,1],[-2,-1,-2,-2,-2,-1,-2],[-2,-2,-1,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,1,-2,-1,-2,-1,-2],[-2,-2,-1,-2,2,-2,-2],[-2,-1,-2,-2,-2,4,-2],[-2,-2,-1,-2,-1,-2,-2],[-2,-1,-2,4,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,1,-2],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,3,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,3,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,0],[-2,0,-2,-2,-2,-2,-2],]
- [[-2,-2,1,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-1,-2,0,-2,1],[-2,-2,-2,-1,-2,-2,-2],[-1,-2,-1,-2,3,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,-1,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,0,-2,-2],[-2,4,-2,-2,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,2,-2,-2,-2,2,-2],[-2,-2,1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,1,-1,-2,-2],[-2,1,-2,3,-2,-2,-2],[-2,-1,-1,-2,-1,-1,-2],[-2,-2,-2,3,-2,1,-2],[-2,-2,3,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,0],[-2,-2,2,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-1,-2,-2],[1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],]
- [[-1,-2,-2,-2,-2,0,1],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,2,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[0,-1,-2,-2,-2,-2,1],]
- [[-2,-1,0,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,0],[-2,-2,2,-2,0,-2,-1],[-2,-2,-2,1,-2,-2,-2],[-1,-2,2,-2,1,-2,-2],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-1,-2],]
- [[-2,-2,-1,-2,-2,-2,-2],[-2,-2,-2,1,-2,-2,-2],[-2,-2,-2,-1,-2,-2,3],[-2,2,-1,-2,-1,-1,-2],[2,-2,-2,3,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,2,-2,-2],]
- [[-2,1,-2,-2,-2,-2,-2],[-2,-1,-2,-2,-2,0,2],[-2,-2,-1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,4,-2,-1,-2,-2],[0,2,-2,-2,-2,-1,-2],[-2,-2,-2,-2,-2,-1,-2],]
- [[-2,-2,-2,-2,1,-2,-2],[-2,-2,-2,2,-1,-2,-2],[-1,0,-2,-2,-2,-2,-2],[-2,2,-2,-1,-2,-1,-2],[-2,-2,-2,-2,-2,2,1],[-2,-2,0,0,-2,-2,-2],[-2,-2,-1,-2,-2,-2,-2],]
- [[-2,2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-2,0],[-2,1,-2,-2,-2,-2,1],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,2,-2],[-1,-2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,1,2,-2],]
- [[-1,-2,-2,-2,1,-2,-1],[-2,-2,2,-2,-2,-2,-2],[0,-2,-2,-2,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,-2,-2,-2,1],[-2,-2,-2,-2,3,-2,-2],[0,-2,-1,-2,-2,-2,-1],]
- [[-2,-2,-2,0,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,4,-2,-2],[2,-2,-2,4,-2,-2,0],[-2,-2,-1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,2,-2],[2,-2,-2,-2,3,-2,-2],[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,-2,2,-2,-2,-2,3],[-2,-1,-2,-2,-2,-2,-2],]
- [[-1,-2,-2,-1,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,1,-2,-2],[0,-2,-2,-2,-2,-2,-1],[-2,-2,1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-2,1,-2,-2,-1],]
- [[-2,-1,-2,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,3],[0,-2,-2,-2,-2,-2,-2],[-2,-2,1,-2,-2,0,-2],]
- [[-2,0,-2,-2,-2,-2,-2],[-2,-2,-2,-2,1,-2,-1],[-2,3,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,0,-2],[1,-2,0,-2,-2,-2,-2],[-2,-2,-2,-2,-2,1,-2],]
- [[-2,2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,-2,-2,1],[-2,-2,1,-2,2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,1,-2,3,-2,-2],[-1,-2,-2,-2,1,-2,-2],[-2,-2,-2,-2,-2,-1,-2],]
- [[-2,3,-2,-2,-2,-2,-2],[-2,-2,-2,0,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,-1,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],[2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,2,-2],]
- [[-2,-2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,1,-2,2,-2,-1],[-2,-2,-2,2,-2,-2,-2],[2,-2,-1,-2,3,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,0,-2,-2],]
- [[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-2,2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,0,-2,0,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,1,-2,-2,-2],[-1,-2,-2,-2,-2,-2,2],]
- [[-2,-2,-2,1,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,0],[-2,-2,-2,-2,-2,-2,1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-1,-2],[1,-2,2,-2,-2,-2,-2],[-2,-2,-2,3,-2,2,-2],[-2,-2,2,-1,-1,-2,-2],[-2,3,-2,-1,-2,-2,-2],[-2,-2,-2,-2,2,-2,-1],[-2,-1,-2,-2,-2,-2,-2],]
- [[-2,-1,-2,-2,-2,3,-2],[1,-2,-2,-2,2,-2,-1],[-2,1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,2,-2],[-1,-2,-1,-2,-2,-2,-1],[-2,2,-2,-2,-2,-1,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,1,-2,2,-2,-2],[-2,0,-2,-2,-2,2,-2],[-2,-2,-1,-2,4,-2,-2],[-2,-2,-2,4,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-1,-2,-2],[-2,0,-2,-2,0,2,-2],[1,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-1],[-2,-1,0,-2,-2,3,-2],[-2,-2,-1,-2,-2,-2,-2],]
- [[-2,-2,-1,-2,-2,-2,-2],[-2,3,-2,-2,1,0,-2],[-2,-1,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,-1,-2],[-2,3,1,-2,-2,2,-2],[-2,-2,-2,-2,-1,-2,-2],]
- [[1,-2,-2,-2,-2,-2,2],[-2,-2,-1,-2,-2,-2,-2],[-2,-2,0,-2,-1,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,2,-2,-1,-2,-2],[-2,-2,-2,-2,2,-2,-2],[-1,-2,-2,-2,-2,-2,-1],]
- [[-2,0,-2,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,0],[2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[0,-2,-2,-2,-2,-2,-2],[-2,-2,1,-2,-2,2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,-2,-2,1,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,4,-2,4,-2,-2],[-2,-2,-2,3,-2,-2,-2],[-2,0,-2,-2,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,2,-2,-2,-2,-2],[-2,2,-2,-2,-2,0,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[2,-2,-2,-2,-2,-2,-2],[-2,2,-2,-2,-2,0,-2],[-2,-2,-2,-2,1,-2,-2],]
- [[-2,-1,2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-1,-2,-2,0],[-2,-2,-1,-2,2,-2,-2],[1,-2,-2,3,-2,-2,-2],[1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-1,-2],]
- [[-2,-2,-2,-2,2,-2,-2],[-2,-2,1,-1,-2,-2,-2],[3,-2,-2,-2,-2,-1,-2],[-2,2,-2,-2,-2,-1,-2],[-2,0,-2,-2,-2,-2,2],[-2,-2,-2,2,0,-2,-2],[-2,-2,2,-2,-2,-2,-2],]
- [[-2,-2,0,-2,-2,-2,-2],[-2,-2,1,1,-2,-2,-2],[-2,-2,-2,-2,-2,1,-1],[-2,0,-2,-2,-2,2,-2],[1,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-1,-2,-2],[-2,-2,-2,-2,2,-2,-2],]
- [[-2,-2,-2,-1,-2,2,-2],[2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,3,-2,-1,-2,-2,-2],]
- [[-2,-1,-2,2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-1,-2,-2,0],[-2,-2,-2,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,1,-2,0,-2],]
- [[-2,-2,-2,-2,-2,-1,-2],[2,-1,-2,0,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,2,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,1,-2,-1,-1],[-2,-1,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,0,-2,0,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,3,-2,0,-2,1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-1,-2,3,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,0,1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,-2],[2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-1,-2,-2,-2],]
- [[2,-2,-2,-2,-2,-2,1],[-2,-2,-2,-2,-1,-2,-2],[-2,0,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],[-2,-2,-1,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,-1],]
- [[-2,-2,-1,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,2],[1,-2,-2,-2,-2,-2,1],[1,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-1,-2,-2],]
- [[-2,-2,-1,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[1,-2,-2,-2,-2,-2,2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,2,-2,0,-2,-2],]
- [[-2,-2,-2,1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-1,-2,-2],[1,-2,-2,2,-2,-2,2],[-2,-2,-1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,2,-2,-2,-2],]
- [[-2,-2,-2,-1,-2,-2,-2],[-2,2,-2,-2,-2,4,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,4,-2,-2,-2,2,-2],[-2,-2,-2,-1,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,0,-2],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,2,-2,3,-2,-2],[-2,-2,-2,4,-2,-2,-2],[-2,-2,2,-2,4,-2,-2],[-2,-2,-2,-2,-2,-2,1],[-2,1,-2,-2,-2,-2,-2],]
- [[-2,-1,-2,-2,-2,-1,-2],[3,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,-2,3],[-2,-1,-2,-2,-2,-1,-2],]
- [[-2,-2,-2,1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,2,-2,0,-2,-2],[0,-2,-2,-2,-2,-2,-1],[-2,-2,0,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],]
- [[-2,-2,-1,-2,-2,-2,-2],[-2,2,-2,-2,-2,-1,-2],[-2,-2,-2,3,-2,-2,-1],[-2,-2,2,-2,1,-2,-2],[-1,-2,-2,-1,-2,-2,-2],[-2,1,-2,-2,-2,4,-2],[-2,-2,-2,-2,-1,-2,-2],]
- [[-2,-2,-2,-2,-2,2,-2],[2,-2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,0,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-2,-1],[-2,2,-2,-2,-2,-2,-2],]
- [[-2,-2,2,-2,-2,-2,-2],[-2,-1,-2,-2,-2,1,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[2,-2,-2,-2,-2,-2,-2],[-2,3,-2,-2,-2,1,-2],[-2,-2,-2,-2,0,-2,-2],]
- [[-2,-2,0,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-2,1,-2,-2,-2],[0,-2,-2,-2,-2,-2,2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,-1,-2,-2],]
- [[-2,0,-2,-2,-2,-2,-2],[-2,-2,-2,0,-2,-2,0],[-2,-2,-2,-2,-2,-2,-2],[-2,1,-2,-2,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-2,0,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],]
- [[-2,-2,-2,-2,1,2,-2],[0,-2,-2,-1,-2,-2,-2],[-1,-2,-2,-2,-2,-2,-2],[-2,0,-2,-1,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-1],[-2,-2,-2,2,-2,-2,0],[-2,0,0,-2,-2,-2,-2],]
- [[-2,-2,1,-2,-2,-2,-2],[-2,-2,-1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-1,1],[-2,-2,-2,4,-2,-2,-2],[1,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,1,-2,-2],[-2,-2,-2,-2,-1,-2,-2],]
- [[-2,-1,-2,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[3,-2,-2,-2,-2,-2,-2],[-2,-2,-2,2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-1],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,-2,2,-2],]
- [[-2,-2,-2,-2,-2,-1,-2],[0,-2,-2,-2,-1,-2,-2],[-2,2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,1,-2],[-2,-2,2,-2,-2,-2,1],[-2,-1,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-2,-2,-2],[-2,-2,3,-2,3,1,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,1,3,-2,-1,-2,-2],[-2,-2,-2,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-1,-2,-2,-2,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,3,-2,3,-2,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,4,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-1,-2,-2,-2,-2,-2,-1],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,4,-2,-1,-2,-1,-2],[-2,-2,-1,-2,-1,-2,-2],[-2,3,-2,-2,-2,-1,-2],[-2,-2,-1,-2,-1,-2,-2],[-2,3,-2,2,-2,3,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,2,-2,-2],[-2,0,1,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,2,0,-2],[-2,-2,1,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-1,-2],[3,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,0,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-1,-2,-1,-2,-2],[-2,-2,-2,-2,-2,-2,3],[-2,-1,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,2,-2,-2,-2],[-2,-2,-2,-2,2,-2,-2],[-2,-1,-2,-1,-2,-2,-2],[1,-2,-1,-1,0,-2,1],[-2,-2,-2,-1,-2,-1,-2],[-2,-2,4,-2,-2,-2,-2],[-2,-2,-2,-1,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,0,-2],[0,0,-2,-2,2,-1,-2],[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,2,-2],[-2,2,-1,-2,-2,0,-1],[-2,0,-2,-2,-2,-2,-2],]
- [[-2,2,1,-2,-2,-2,-2],[-2,-2,-2,-2,2,-2,-1],[-2,-1,-2,-2,-2,-2,1],[-2,-2,-2,-1,-2,-2,-2],[1,-2,-2,-2,-2,-1,-2],[0,-2,1,-2,-2,-2,-2],[-2,-2,-2,-2,0,-1,-2],]
- [[-2,-2,-2,-2,-1,-1,-2],[1,-2,-2,-2,-2,-2,-2],[1,-2,-2,3,-2,-2,-2],[-2,-2,2,-1,-1,-2,-2],[-2,-2,-2,1,-2,-2,0],[-2,-2,-2,-2,-2,-2,-1],[-2,-1,1,-2,-2,-2,-2],]
- [[0,-2,-2,-2,-2,-2,2],[-2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,0,-2,-2,-2,-1,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,3,-2,-2,-2],[-1,-2,-2,-2,-2,-2,1],]
- [[0,-2,-2,-1,-2,-2,-1],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,0,-2,-2],[2,-2,-2,-2,-2,-2,3],[-2,-2,-1,-2,2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[0,-2,-2,-1,-2,-2,-1],]
- [[-2,-2,-2,0,-2,-2,-2],[-2,-2,2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,3,-2],[1,-2,-2,-2,-2,-2,-1],[-2,-1,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-1,-2,-2],[-2,-2,-2,2,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,3,-2,-1,-2,-2],[-2,3,-2,-2,-2,4,-2],[-2,-2,-2,-1,-2,-2,-2],[-2,-1,-2,-2,-2,-1,-2],[-2,-2,-1,-2,3,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-2,-2,-1,-2,-2,-2],[-2,-2,-2,-2,2,-2,-2],[-2,0,-2,-2,-2,-2,-2],[1,-2,-2,-1,-2,-2,2],[-2,-2,-2,-2,-2,3,-2],[-2,-2,0,-2,-2,-2,-2],[-2,-2,-2,1,-2,-2,-2],]
- [[-2,-2,-2,-2,-2,-2,-2],[-2,-2,0,-1,-2,-2,-2],[-2,-2,-2,-2,-2,-1,-2],[-2,0,-2,-1,-2,3,-2],[-2,2,-2,-2,-2,-2,-2],[-2,-2,-2,-1,-1,-2,-2],[-2,-2,-2,-2,-2,-2,-2],]
- [[-2,-1,-2,-2,1,-2,-2],[-2,-2,-2,-2,-2,-2,1],[3,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,-2],[-2,-2,-2,-2,-2,-2,0],[-1,-2,-2,-2,-2,-2,-2],[-2,-2,0,-2,-2,1,-2],]

View File

@ -0,0 +1,4 @@
---
name: Akari Easy
data:
- [[-3, -4, -2, -2, -2],[-2, 4, -2, -1, -2],[-2, -2, -2, 2, -2],[0, -2, -1, -2, -2],[-2, -2, -2, -2, -2]]

View File

@ -9,7 +9,7 @@ require 'coffee-script'
require 'slim' require 'slim'
require 'sass' require 'sass'
GAMES = %i{hitori nurikabe sudoku} GAMES = %i{akari hitori nurikabe sudoku}
set :data_folder, File.expand_path('./data') set :data_folder, File.expand_path('./data')

104
views/akari.coffee 100644
View File

@ -0,0 +1,104 @@
class Nikoli.Akari extends Nikoli.Game
constructor: (@board, @name = 'akari') ->
super @board, @name
errors: ->
solution = @toArray()
errors = []
for i in [0...solution.length]
row = solution[i]
for j in [0...row.length]
cell = new Nikoli.Cell(i, j, solution)
if cell.value == -5
errors.push {row: i, column: j, message: 'The light is illuminated by another one'}
else if cell.value == -2
errors.push {row: i, column: j, message: 'The cell is not illuminated'}
else if cell.value >= 0
lights = cell.adjacentCells().filter((adj_cell) -> adj_cell.value == -3 || adj_cell.value == -5)
if lights.length != cell.value
errors.push {row: i, column: j, message: 'The number of lights is not correct'}
errors
generate: (game, solution = false) ->
@game = game if game?
@grid.innerHTML = @game.map((row, i) ->
'<div class="grid-row">' + row.map((cell, j) ->
data = "data-row=\"#{i}\" data-column=\"#{j}\""
if cell <= -2
if solution
color_class = if cell == -3
'black'
else if cell == -4
'light'
else if cell == -5
'black light'
"<div class=\"grid-cell empty #{color_class}\" #{data}>&nbsp;</div>"
else
"<div class=\"grid-cell white\" #{data}>#{if cell >= 0 then cell else '&nbsp;'}</div>"
).join('') + '</div>'
).join('')
for cell in board.querySelectorAll('.empty')
cell.addEventListener 'click', ((evenment) => @toggle evenment.target), false
return
illuminate: ->
solution = @toArray()
[].forEach.call @grid.querySelectorAll('.empty'), (cell) ->
akari_cell = new Nikoli.AkariCell(parseInt(cell.dataset.row), parseInt(cell.dataset.column), solution)
if akari_cell.isIlluminated()
cell.classList.add('light')
else
cell.classList.remove('light')
toggle: (cell) ->
cell.classList.toggle 'black'
@illuminate()
toArray: ->
[].map.call @grid.querySelectorAll('.grid-row'), (row) ->
[].map.call row.querySelectorAll('.grid-cell'), (cell) ->
if cell.classList.contains('empty')
if cell.classList.contains('black') && cell.classList.contains('light')
-5
else if cell.classList.contains('light')
-4
else if cell.classList.contains('black')
-3
else
-2
else
value = parseInt(cell.innerHTML)
if isNaN(value) then -1 else value
class Nikoli.AkariCell extends Nikoli.Cell
isIlluminated: ->
@lightLeft() || @lightRight() || @lightUp() || @lightDown()
light: (array) ->
for value in array
if value == -3 || value == -5
return true
else if value >= -1
return false
return false
lightLeft: ->
@y != 0 && @light(@getRow().slice(0, @y).reverse())
lightRight: ->
@y != (@getRow().length - 1) && @light(@getRow().slice(@y + 1))
lightUp: ->
@x != 0 && @light(@getColumn().slice(0, @x).reverse())
lightDown: ->
@x != (@getColumn().length - 1) && @light(@getColumn().slice(@x + 1))

10
views/akari.slim 100644
View File

@ -0,0 +1,10 @@
- content_for(:title) { 'Akari' }
h1 Akari
#board
script type="text/javascript" src="/akari.js"
javascript:
document.addEventListener("DOMContentLoaded", function() {
akari = new Nikoli.Akari(document.getElementById('board'));
});

View File

@ -68,6 +68,13 @@ class Nikoli.Cell
toString: -> "#{@x};#{@y}" toString: -> "#{@x};#{@y}"
getColumn: ->
column = []
column.push @game[i][@y] for i in [0...@game.length]
column
getRow: -> @game[@x]
adjacentCells: -> adjacentCells: ->
[ [
new Cell(@x + 1, @y, @game), new Cell(@x + 1, @y, @game),
@ -91,13 +98,10 @@ class Nikoli.Cell
array.filter((cell) => cell == @value).length > 1 array.filter((cell) => cell == @value).length > 1
columnDuplicates: -> columnDuplicates: ->
column = [] @duplicatesIn @getColumn()
column.push @game[i][@y] for i in [0...@game.length]
@duplicatesIn column
rowDuplicates: -> rowDuplicates: ->
@duplicatesIn @game[@x] @duplicatesIn @getRow()
squareDuplicates: (from, size) -> squareDuplicates: (from, size) ->
square = [] square = []

View File

@ -66,7 +66,10 @@ ul {
background-color: #fff; background-color: #fff;
} }
.black { .black {
background-color: #aaa; background-color: transparent;
}
.error {
box-shadow: 0 0 10px 0 #c00 inset;
} }
.hitori { .hitori {
@ -75,6 +78,15 @@ ul {
} }
} }
.akari {
.black {
background-color: #222;
}
.light {
box-shadow: 0 0 10px 5px #ffb inset;
}
}
.sudoku { .sudoku {
$sudoku-separation: 5px; $sudoku-separation: 5px;