mirror of
https://github.com/gwenhael-le-moine/c-urs_-toil-s.git
synced 2025-01-17 18:12:04 +01:00
first, lua and ruby
Signed-off-by: Gwenhael Le Moine <cycojesus@darkstar.example.net>
This commit is contained in:
commit
479d901ae6
2 changed files with 664 additions and 0 deletions
498
star.lua
Normal file
498
star.lua
Normal file
|
@ -0,0 +1,498 @@
|
|||
levelsets = {
|
||||
-- gstar = require( "star/levelsets/gstar" ),
|
||||
gstar = {
|
||||
[ 1 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'B', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'C', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'G', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 2 ] = {
|
||||
{ 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'B', 'W', },
|
||||
{ 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'V', 'V', 'V', },
|
||||
{ 'W', 'V', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'W', 'C', 'W', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'G', 'G', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', },
|
||||
},
|
||||
[ 3 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'B', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'C', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'W', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'G', 'W', 'V', 'V', 'G', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'G', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'G', 'W', 'W', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 4 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'C', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'G', 'W', 'G', 'V', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'W', 'G', 'V', 'G', 'W', 'V', 'W', 'V', 'W', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'G', 'W', 'G', 'W', 'G', 'V', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 5 ] = {
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'B', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'V', 'G', 'V', 'V', 'G', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'C', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', 'G', 'W', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
},
|
||||
[ 6 ] = {
|
||||
{ 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'G', 'W', },
|
||||
{ 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'W', },
|
||||
{ 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'B', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'C', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 7 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'V', 'W', 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'W', 'G', 'W', },
|
||||
{ 'V', 'W', 'G', 'V', 'V', 'W', 'G', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'W', 'V', },
|
||||
{ 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'W', 'W', 'W', 'V', 'W', 'W', 'V', 'V', },
|
||||
{ 'V', 'W', 'W', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'W', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'B', 'W', 'G', 'V', 'V', 'V', 'V', 'C', 'V', 'V', 'W', 'G', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 8 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'W', },
|
||||
{ 'W', 'G', 'C', 'G', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'B', 'W', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 9 ] = {
|
||||
{ 'V', 'V', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'V', 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'B', 'W', },
|
||||
{ 'W', 'G', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'V', 'W', 'V', 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'G', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'G', 'C', 'G', 'V', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
[ 10 ] = {
|
||||
{ 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'W', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'C', 'V', 'W', 'W', 'W', 'G', 'V', 'G', 'W', 'V', 'G', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'W', 'G', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'G', 'W', },
|
||||
{ 'W', 'G', 'W', 'G', 'V', 'V', 'W', 'V', 'G', 'W', 'V', 'V', 'W', 'B', 'W', 'V', },
|
||||
{ 'V', 'W', 'G', 'V', 'V', 'V', 'W', 'W', 'W', 'V', 'V', 'W', 'W', 'W', 'V', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'V', 'W', 'V', 'V', 'W', },
|
||||
},
|
||||
[ 11 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'B', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'G', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'V', 'W', 'G', 'W', 'G', 'G', 'V', 'V', 'W', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'G', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'C', 'V', 'G', 'W', },
|
||||
{ 'W', 'W', 'G', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'V', 'W', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
},
|
||||
[ 12 ] = {
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'B', 'W', 'W', 'W', 'W', 'W', 'G', 'V', 'W', 'W', 'W', 'V', 'G', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'W', 'G', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'G', 'V', 'W', 'W', 'W', 'G', 'V', 'W', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'W', 'C', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 13 ] = {
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'V', 'B', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'G', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'G', 'V', 'V', 'W', 'G', 'W', },
|
||||
{ 'W', 'C', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'V', 'W', 'V', 'W', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
},
|
||||
[ 14 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'B', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'C', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 15 ] = {
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'B', 'W', 'V', 'V', 'V', 'W', 'G', 'G', 'V', 'W', 'G', 'V', 'W', },
|
||||
{ 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'G', 'V', 'V', 'C', 'W', 'V', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'V', 'W', },
|
||||
{ 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', 'V', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
},
|
||||
[ 16 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'C', 'W', 'G', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', },
|
||||
{ 'W', 'G', 'V', 'B', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 17 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'G', 'W', 'G', 'G', 'W', 'G', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'W', 'W', 'G', 'W', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'G', 'V', 'V', 'V', 'C', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 18 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'C', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'G', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'W', 'B', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 19 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'V', 'G', 'W', 'V', 'W', 'W', 'G', 'V', 'V', 'W', 'C', 'W', },
|
||||
{ 'W', 'V', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'B', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 20 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'G', 'V', 'V', 'G', 'W', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'W', 'V', 'G', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'C', 'V', 'W', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'V', 'B', 'G', 'W', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'W', 'G', 'V', 'V', 'G', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
},
|
||||
[ 21 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'G', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'G', 'V', 'G', 'V', 'B', 'V', 'C', 'V', 'G', 'V', 'G', 'G', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
[ 22 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'G', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'G', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'W', 'W', 'W', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'W', 'C', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
[ 23 ] = {
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'W', 'V', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'V', 'G', 'G', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'W', 'G', 'V', 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'W', 'C', 'V', 'V', 'G', 'V', 'V', 'W', },
|
||||
{ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
[ 24 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'G', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'W', 'W', },
|
||||
{ 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'G', 'G', 'V', 'V', 'G', 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'G', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'B', 'W', 'C', 'W', 'W', 'W', 'G', 'G', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
[ 25 ] = {
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'W', 'W', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', },
|
||||
{ 'W', 'V', 'W', 'W', 'G', 'V', 'W', 'B', 'V', 'C', 'V', 'V', 'V', 'V', 'V', 'W', },
|
||||
{ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', },
|
||||
{ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
local star = {
|
||||
board = { },
|
||||
whats_moving = 'ball',
|
||||
|
||||
elements = {
|
||||
B = { text = "()", fg = "#0000ff", bg = "#000000" },
|
||||
C = { text = "[]", fg = "#ff0000", bg = "#000000" },
|
||||
W = { text = "##", fg = "#007700", bg = "#000000" },
|
||||
G = { text = "<>", fg = "#ffff00", bg = "#000000" },
|
||||
V = { text = " ", fg = "#000000", bg = "#000000" },
|
||||
},
|
||||
counters ={
|
||||
gifts = 0,
|
||||
moves = 0,
|
||||
},
|
||||
level = {
|
||||
width = 16,
|
||||
height = 9,
|
||||
current = {
|
||||
levelset = '',
|
||||
name = '',
|
||||
},
|
||||
},
|
||||
ball = { x = 0, y = 0, },
|
||||
cube = { x = 0, y = 0, },
|
||||
}
|
||||
|
||||
local function first_key( t )
|
||||
for k, _ in pairs( t ) do
|
||||
return k
|
||||
end
|
||||
end
|
||||
|
||||
local function init( )
|
||||
star.level.levelset = first_key( levelsets )
|
||||
star.level.name = first_key( levelsets[ star.level.levelset ] )
|
||||
end
|
||||
|
||||
function move( direction )
|
||||
local d = {
|
||||
h = direction:match( "left" ) and -1 or direction:match( "right" ) and 1 or 0,
|
||||
v = direction:match( "up" ) and -1 or direction:match( "down" ) and 1 or 0,
|
||||
}
|
||||
local tmp = {
|
||||
x = star[ star.whats_moving ].x,
|
||||
y = star[ star.whats_moving ].y,
|
||||
}
|
||||
|
||||
while ( ( ( tmp.y + d.v > 0 ) and ( tmp.y + d.v <= star.level.height ) )
|
||||
and
|
||||
( ( tmp.x + d.h > 0 ) and ( tmp.x + d.h <= star.level.width ) )
|
||||
and
|
||||
( star.board[ tmp.y + d.v ][ tmp.x + d.h ] == 'V' )
|
||||
or
|
||||
( star.whats_moving:match('ball') and
|
||||
( star.board[ tmp.y + d.v ][ tmp.x + d.h ] == 'G' ) ) )
|
||||
do
|
||||
tmp.x = tmp.x + d.h
|
||||
tmp.y = tmp.y + d.v
|
||||
|
||||
if ( star.whats_moving:match('ball') and star.board[ tmp.y ][ tmp.x ] == 'G' )
|
||||
then
|
||||
star.board[ tmp.y ][ tmp.x ] = 'V'
|
||||
star.counters.gifts = star.counters.gifts - 1
|
||||
end
|
||||
end
|
||||
|
||||
if ( tmp.x ~= star[ star.whats_moving ].x or tmp.y ~= star[ star.whats_moving ].y )
|
||||
then
|
||||
star.board[ star[ star.whats_moving ].y ][ star[ star.whats_moving ].x ] = 'V'
|
||||
star[ star.whats_moving ].x = tmp.x
|
||||
star[ star.whats_moving ].y = tmp.y
|
||||
|
||||
star.board[ star[ star.whats_moving ].y ][ star[ star.whats_moving ].x ] = star.whats_moving:match("ball") and 'B' or 'C'
|
||||
star.counters.moves = star.counters.moves + 1
|
||||
end
|
||||
end
|
||||
|
||||
local function load_level( )
|
||||
star.board = levelsets[ star.level.levelset ][ star.level.name ]
|
||||
star.counters.gift = 0
|
||||
star.counters.moves = 0
|
||||
|
||||
for y=1, star.level.height do
|
||||
for x=1, star.level.width do
|
||||
if star.board[ y ][ x ] == 'G' then
|
||||
star.counters.gifts = star.counters.gifts + 1
|
||||
elseif star.board[ y ][ x ] == 'B' then
|
||||
star.ball.x = x
|
||||
star.ball.y = y
|
||||
elseif star.board[ y ][ x ] == 'C' then
|
||||
star.cube.x = x
|
||||
star.cube.y = y
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function next_level( )
|
||||
|
||||
end
|
||||
|
||||
local function previous_level( )
|
||||
|
||||
end
|
||||
|
||||
local function switch_moving( )
|
||||
star.whats_moving = star.whats_moving:match("ball") and 'cube' or 'ball'
|
||||
end
|
||||
|
||||
local function is_it_over( )
|
||||
for y=1, star.level.height do
|
||||
for x=1, star.level.width do
|
||||
if star.board[ y ][ x ]:match( 'G' ) then return false end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local function list_levelsets( )
|
||||
local lst = { }
|
||||
for levelset, _ in pairs( levelsets ) do
|
||||
table.insert( lst, levelset )
|
||||
end
|
||||
|
||||
return lst
|
||||
end
|
||||
|
||||
local function list_levels_in_levelset( levelset )
|
||||
local lst = { }
|
||||
for level, _ in pairs( levelsets[ levelset ] ) do
|
||||
table.insert( lst, level )
|
||||
end
|
||||
|
||||
return lst
|
||||
end
|
||||
|
||||
local function to_s ( )
|
||||
local s = string.format( "%s:%i %s:(%i,%i) %s:(%i,%i) m:%i\n",
|
||||
star.elements[ 'G' ].text,
|
||||
star.counters.gifts,
|
||||
star.elements[ 'B' ].text,
|
||||
star.ball.x,
|
||||
star.ball.y,
|
||||
star.elements[ 'C' ].text,
|
||||
star.cube.x,
|
||||
star.cube.y,
|
||||
star.counters.moves
|
||||
)
|
||||
for y=1, star.level.height do
|
||||
for x=1, star.level.width do
|
||||
s = s .. star.elements[ star.board[ y ][ x ] ].text
|
||||
end
|
||||
s = s .. "\n"
|
||||
end
|
||||
|
||||
return s
|
||||
end
|
||||
|
||||
star.init = init
|
||||
star.load_level = load_level
|
||||
star.move = move
|
||||
star.switch_moving = switch_moving
|
||||
star.is_it_over = is_it_over
|
||||
star.list_levelsets = list_levelsets
|
||||
star.list_levels_in_levelset = list_levels_in_levelset
|
||||
star.to_s = to_s
|
||||
|
||||
-- return star
|
||||
|
||||
-- star = require( "star" )
|
||||
|
||||
star.init( )
|
||||
star.load_level( )
|
||||
|
||||
print( star.to_s() )
|
||||
|
||||
moves = {
|
||||
"down",
|
||||
"right",
|
||||
"down",
|
||||
"left",
|
||||
"up",
|
||||
"right",
|
||||
"up",
|
||||
"left",
|
||||
"down",
|
||||
"right",
|
||||
"down",
|
||||
"left",
|
||||
"right",
|
||||
"up",
|
||||
"left",
|
||||
"up",
|
||||
"right",
|
||||
"up",
|
||||
"down",
|
||||
"left",
|
||||
"up",
|
||||
"right",
|
||||
"down",
|
||||
"up",
|
||||
"left",
|
||||
}
|
||||
for _, m in ipairs( moves ) do
|
||||
star.move( m )
|
||||
print( star.is_it_over( ) and "YES \o/" or "not yet" )
|
||||
end
|
||||
|
||||
print( star.to_s() )
|
||||
|
||||
-- for _, v in ipairs( star.list_levelsets() ) do
|
||||
-- print( v )
|
||||
-- for _, w in ipairs( star.list_levels_in_levelset( v ) ) do
|
||||
-- print( w )
|
||||
-- end
|
||||
-- end
|
166
star.rb
Normal file
166
star.rb
Normal file
|
@ -0,0 +1,166 @@
|
|||
class Star
|
||||
def initialize
|
||||
@levelsets = {
|
||||
:gstar => {
|
||||
:l01 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'B', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'C', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'W', 'V', 'G', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'G', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l02 => [ [ 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'B', 'W', ], [ 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'V', 'V', 'V', ], [ 'W', 'V', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'W', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'W', 'C', 'W', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', ], [ 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'G', 'G', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', ], [ 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', ], ],
|
||||
:l03 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'B', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'C', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'G', 'W', ], [ 'W', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'G', 'W', 'V', 'V', 'G', 'W', 'W', ], [ 'W', 'V', 'W', 'W', 'G', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'G', 'W', 'W', 'W', ], [ 'W', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l04 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'C', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'G', 'W', 'G', 'V', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', ], [ 'W', 'V', 'W', 'V', 'W', 'G', 'V', 'G', 'W', 'V', 'W', 'V', 'W', 'V', 'W', 'W', ], [ 'W', 'W', 'G', 'W', 'G', 'W', 'G', 'V', 'G', 'W', 'G', 'W', 'G', 'W', 'G', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l05 => [ [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'B', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'V', 'G', 'V', 'V', 'G', 'V', 'W', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'C', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', 'G', 'W', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], ],
|
||||
:l06 => [ [ 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'G', 'W', ], [ 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'W', ], [ 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'B', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', ], [ 'W', 'C', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l07 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'V', 'W', 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'W', 'G', 'W', ], [ 'V', 'W', 'G', 'V', 'V', 'W', 'G', 'V', 'W', 'V', 'W', 'V', 'W', 'V', 'W', 'V', ], [ 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'W', 'W', 'W', 'V', 'W', 'W', 'V', 'V', ], [ 'V', 'W', 'W', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'W', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'B', 'W', 'G', 'V', 'V', 'V', 'V', 'C', 'V', 'V', 'W', 'G', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l08 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', ], [ 'W', 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'W', ], [ 'W', 'G', 'C', 'G', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'B', 'W', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l09 => [ [ 'V', 'V', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'V', 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'B', 'W', ], [ 'W', 'G', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', ], [ 'V', 'W', 'V', 'W', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'G', 'W', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'V', 'W', 'G', 'C', 'G', 'V', 'V', 'V', 'V', 'G', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', ], [ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'V', 'V', 'V', ], ],
|
||||
:l10 => [ [ 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'W', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'C', 'V', 'W', 'W', 'W', 'G', 'V', 'G', 'W', 'V', 'G', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'W', 'G', 'V', 'V', 'V', 'W', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'G', 'W', ], [ 'W', 'G', 'W', 'G', 'V', 'V', 'W', 'V', 'G', 'W', 'V', 'V', 'W', 'B', 'W', 'V', ], [ 'V', 'W', 'G', 'V', 'V', 'V', 'W', 'W', 'W', 'V', 'V', 'W', 'W', 'W', 'V', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'V', 'W', 'V', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'V', 'W', 'V', 'V', 'W', ], ],
|
||||
:l11 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'B', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'G', 'V', 'W', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'G', 'W', ], [ 'W', 'G', 'V', 'V', 'V', 'V', 'W', 'G', 'W', 'G', 'G', 'V', 'V', 'W', 'W', 'W', ], [ 'W', 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'V', 'V', 'G', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'C', 'V', 'G', 'W', ], [ 'W', 'W', 'G', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'W', 'W', ], [ 'V', 'W', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], ],
|
||||
:l12 => [ [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'B', 'W', 'W', 'W', 'W', 'W', 'G', 'V', 'W', 'W', 'W', 'V', 'G', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'W', 'G', 'W', 'V', 'W', ], [ 'W', 'V', 'W', 'V', 'G', 'V', 'W', 'W', 'W', 'G', 'V', 'W', 'W', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'W', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'W', 'C', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l13 => [ [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'V', 'B', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'G', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'G', 'V', 'V', 'W', 'G', 'W', ], [ 'W', 'C', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'V', 'W', 'V', 'W', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], ],
|
||||
:l14 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', ], [ 'W', 'V', 'G', 'W', 'B', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', ], [ 'W', 'V', 'C', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', ], [ 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l15 => [ [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', ], [ 'W', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', ], [ 'W', 'V', 'V', 'B', 'W', 'V', 'V', 'V', 'W', 'G', 'G', 'V', 'W', 'G', 'V', 'W', ], [ 'V', 'W', 'V', 'W', 'V', 'V', 'V', 'W', 'V', 'G', 'V', 'V', 'C', 'W', 'V', 'W', ], [ 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'V', 'W', ], [ 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'W', 'V', ], [ 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], ],
|
||||
:l16 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'W', 'V', 'C', 'W', 'G', 'V', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', ], [ 'W', 'G', 'V', 'B', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l17 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'V', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'G', 'W', 'G', 'G', 'W', 'G', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'W', 'W', 'G', 'W', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'W', 'W', 'G', 'W', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'G', 'V', 'V', 'V', 'C', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l18 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'C', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'W', 'G', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'W', ], [ 'W', 'V', 'W', 'G', 'W', 'V', 'V', 'V', 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'W', 'G', 'V', 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'W', 'B', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l19 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'G', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'W', ], [ 'W', 'V', 'G', 'W', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'W', 'V', 'G', 'W', 'V', 'W', 'W', 'G', 'V', 'V', 'W', 'C', 'W', ], [ 'W', 'V', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'W', 'W', 'B', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l20 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'G', 'V', 'V', 'G', 'W', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'V', 'W', 'V', 'W', 'V', 'G', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'C', 'V', 'W', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'V', 'B', 'G', 'W', ], [ 'W', 'V', 'W', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', 'V', 'W', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'G', 'W', 'W', 'V', 'W', 'G', 'V', 'V', 'G', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], ],
|
||||
:l21 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'W', 'W', 'W', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', ], [ 'W', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'G', 'V', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'W', 'G', 'V', 'W', ], [ 'W', 'V', 'V', 'G', 'V', 'G', 'V', 'B', 'V', 'C', 'V', 'G', 'V', 'G', 'G', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', ], ],
|
||||
:l22 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'G', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'G', 'V', 'V', 'V', 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'V', 'W', 'W', 'W', ], [ 'W', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'W', 'W', 'W', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'W', 'C', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', ], ],
|
||||
:l23 => [ [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'W', 'V', 'W', 'V', 'V', 'W', 'G', 'W', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'G', 'V', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', 'V', 'V', 'G', 'G', 'V', 'G', 'V', 'W', ], [ 'W', 'W', 'G', 'V', 'W', 'V', 'V', 'V', 'W', 'W', 'V', 'G', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'B', 'W', 'C', 'V', 'V', 'G', 'V', 'V', 'W', ], [ 'V', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'V', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', ], ],
|
||||
:l24 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'W', ], [ 'W', 'V', 'W', 'W', 'G', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'G', 'W', 'W', ], [ 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'W', 'W', 'W', ], [ 'W', 'V', 'G', 'G', 'V', 'V', 'G', 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'G', 'V', 'G', 'V', 'W', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'W', ], [ 'W', 'V', 'W', 'W', 'V', 'V', 'V', 'B', 'W', 'C', 'W', 'W', 'W', 'G', 'G', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', ], ],
|
||||
:l25 => [ [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'W', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'W', 'V', 'W', ], [ 'W', 'V', 'G', 'V', 'W', 'W', 'G', 'V', 'V', 'V', 'G', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'V', 'V', 'V', 'W', 'G', 'V', 'V', 'G', 'V', 'V', 'W', 'W', 'V', 'V', 'W', ], [ 'W', 'V', 'G', 'V', 'V', 'V', 'V', 'W', 'W', 'V', 'V', 'W', 'G', 'V', 'V', 'W', ], [ 'W', 'V', 'W', 'G', 'V', 'V', 'V', 'G', 'W', 'V', 'V', 'V', 'V', 'G', 'V', 'W', ], [ 'W', 'V', 'W', 'W', 'G', 'V', 'W', 'B', 'V', 'C', 'V', 'V', 'V', 'V', 'V', 'W', ], [ 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', ], [ 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', ], ],
|
||||
}
|
||||
}
|
||||
@elements = {
|
||||
'B' => { :text => "()", :fg => "#0000ff", :bg => "#000000" },
|
||||
'C' => { :text => "[]", :fg => "#ff0000", :bg => "#000000" },
|
||||
'W' => { :text => "##", :fg => "#007700", :bg => "#000000" },
|
||||
'G' => { :text => "<>", :fg => "#ffff00", :bg => "#000000" },
|
||||
'V' => { :text => " ", :fg => "#000000", :bg => "#000000" },
|
||||
}
|
||||
@counters = {
|
||||
:gifts => 0,
|
||||
:moves => 0,
|
||||
}
|
||||
@level = {
|
||||
:width => 16,
|
||||
:height => 9,
|
||||
:levelset => 0,
|
||||
:name => 0,
|
||||
}
|
||||
@whats_moving = :ball
|
||||
@positions = {
|
||||
:ball => { :x => 0, :y => 0 },
|
||||
:cube => { :x => 0, :y => 0 },
|
||||
}
|
||||
|
||||
@level[ :levelset ] = @levelsets.keys.sort.first
|
||||
@level[ :name ] = @levelsets[ @level[ :levelset ] ].keys.sort.first
|
||||
|
||||
load_level
|
||||
end
|
||||
|
||||
def move( direction )
|
||||
d = { :h => 0, :v => 0 }
|
||||
d[ :h ] = -1 if direction == :left
|
||||
d[ :h ] = 1 if direction == :right
|
||||
d[ :v ] = -1 if direction == :up
|
||||
d[ :v ] = 1 if direction == :down
|
||||
|
||||
tmp = { :x => 0, :y => 0 }
|
||||
tmp[ :x ] = @positions[ @whats_moving ][ :x ]
|
||||
tmp[ :y ] = @positions[ @whats_moving ][ :y ]
|
||||
|
||||
while ( 0 <= tmp[ :y ] + d[ :v ] && tmp[ :y ] + d[ :v ] < @level[ :height ] ) &&
|
||||
( 0 <= tmp[ :x ] + d[ :h ] && tmp[ :x ] + d[ :h ] < @level[ :width ] ) &&
|
||||
( @board[ tmp[ :y ] + d[ :v ] ][ tmp[ :x ] + d[ :h ] ] == 'V' ) ||
|
||||
( @whats_moving == :ball &&
|
||||
@board[ tmp[ :y ] + d[ :v ] ][ tmp[ :x ] + d[ :h ] ] == 'G' )
|
||||
tmp[ :x ] = tmp[ :x ] + d[ :h ]
|
||||
tmp[ :y ] = tmp[ :y ] + d[ :v ]
|
||||
|
||||
if @whats_moving == :ball && @board[ tmp[ :y ] ][ tmp[ :x ] ] == 'G'
|
||||
then
|
||||
@board[ tmp[ :y ] ][ tmp[ :x ] ] = 'V'
|
||||
@counters[ :gifts ] = @counters[ :gifts ] - 1
|
||||
end
|
||||
end
|
||||
|
||||
if tmp[ :x ] != @positions[ @whats_moving][ :x ] ||
|
||||
tmp[ :y ] != @positions[ @whats_moving][ :y ]
|
||||
then
|
||||
@board[ @positions[ @whats_moving][ :y ] ][ @positions[ @whats_moving][ :x ] ] = 'V'
|
||||
@positions[ @whats_moving][ :x ] = tmp[ :x ]
|
||||
@positions[ @whats_moving][ :y ] = tmp[ :y ]
|
||||
|
||||
@board[ @positions[ @whats_moving][ :y ] ][ @positions[ @whats_moving][ :x ] ] = @whats_moving == :ball ? 'B' : 'C'
|
||||
@counters[ :moves ] = @counters[ :moves ] + 1
|
||||
end
|
||||
end
|
||||
|
||||
def load_level
|
||||
@board = @levelsets[ @level[ :levelset ] ][ @level[ :name ] ]
|
||||
@counters[ :gifts ] = 0
|
||||
|
||||
@level[ :height ].times do
|
||||
|y|
|
||||
@level[ :width ].times do
|
||||
|x|
|
||||
case @board[ y ][ x ]
|
||||
when 'G'
|
||||
@counters[ :gifts ] = @counters[ :gifts ] + 1
|
||||
when 'B'
|
||||
@positions[ :ball ][ :x ] = x
|
||||
@positions[ :ball ][ :y ] = y
|
||||
when 'C'
|
||||
@positions[ :cube ][ :x ] = x
|
||||
@positions[ :cube ][ :y ] = y
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def switch_moving
|
||||
@whats_moving = @whats_moving == :ball ? :cube : :ball
|
||||
end
|
||||
|
||||
def is_it_over?
|
||||
@counters[ :gifts ] == 0
|
||||
end
|
||||
|
||||
def list_levelsets
|
||||
@levelsets.keys
|
||||
end
|
||||
|
||||
def list_levels_in_levelset( levelset )
|
||||
@levelsets[ levelset ].keys
|
||||
end
|
||||
|
||||
def to_s
|
||||
s = @elements[ 'G' ][ :text ] + ":" + @counters[ :gifts ].to_s + " "
|
||||
s = s + @elements[ 'B' ][ :text ] + ":(" + @positions[ :ball ][ :x ].to_s + "," + @positions[ :ball ][ :y ].to_s + ") "
|
||||
s = s + @elements[ 'C' ][ :text ] + ":(" + @positions[ :cube ][ :x ].to_s + "," + @positions[ :cube ][ :y ].to_s + ") "
|
||||
s = s + "m:" + @counters[ :moves ].to_s + "\n"
|
||||
@level[ :height ].times do
|
||||
|y|
|
||||
@level[ :width ].times do
|
||||
|x|
|
||||
s = s + @elements[ @board[ y ][ x ] ][ :text ]
|
||||
end
|
||||
s = s + "\n"
|
||||
end
|
||||
return s
|
||||
end
|
||||
end
|
||||
|
||||
st = Star.new
|
||||
puts st.to_s
|
||||
|
||||
moves = [ :down, :right, :down, :left, :up, :right, :up, :left, :down, :right, :down, :left, :right, :up, :left, :up, :right, :up, :down, :left, :up, :right, :down, :up, :left, ]
|
||||
|
||||
moves.map do
|
||||
|direction|
|
||||
st.move( direction )
|
||||
puts st.is_it_over? ? "YES \o/" : "not yet"
|
||||
end
|
||||
|
||||
puts st.to_s
|
Loading…
Reference in a new issue