monkeymusic 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +6 -14
- data/levels/level1.rb +47 -0
- data/levels/level2.rb +47 -0
- data/levels/level3.rb +47 -0
- data/levels/level4.rb +117 -0
- data/levels/level5.rb +32 -0
- data/levels/level6.rb +32 -0
- data/levels/level7.rb +32 -0
- data/levels/level8.rb +32 -0
- data/levels/mapgen.cpp +208 -0
- data/lib/monkey_music/player.rb +2 -1
- metadata +37 -30
- data/demo_players/python/state.pickle +0 -0
- data/demo_players/python/util.pyc +0 -0
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
OTEzMWU5OTRhMDRhOGQyYjkxM2Q1N2Y2YTY2MjM4MzJlMzc3OGM5OTg5NDk0
|
10
|
-
ZWNkMWFhMDAyYWY2MjE4NDk3NzM2Yjk3MWVjNTA2MzRiY2Y1ODMyMjc2NmYw
|
11
|
-
NmUzOTI5MDAzNmQxNDBmNTcwODcxZTQyNzFjYThhZjBlMTdkNmM=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZTIzYzBmYTc3N2E2MzIwZTA3Nzc0YzkwMDgyZWEyOWE2OGZhNWM2ZTM2Y2Vj
|
14
|
-
NWRlNGYxOTQzNDBlN2U4MmM5ZDllZWY2OTgzMWU4MDI2Nzc3M2VkNGEwMDVk
|
15
|
-
Yzk2OTczZWI5MTc5MzQ3NWY5N2Q1NzIwNDY4YTc2MjU1OTU2NTA=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b444c55e899f39499d9132c52219cce02c4f5206
|
4
|
+
data.tar.gz: 9c018da6ee037ce28eeac12ed1aa0f9470987a27
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ac7ba1eb130517879defdff53ce9e3c8e348e2e9657679186acf57a6e0d7e4a1115d4ab9609e00c59b92746da4cd088692fb4648c41e09905d8a02fa683d4a34
|
7
|
+
data.tar.gz: 55aa924ecdacfa3cf54562db1965c826e09078bd59751ca2e81b33d342bf43c093ebadd35a12187eb4efe32356d6b9ef6f3918f37c791fb525b36f1fefa73523
|
data/levels/level1.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
b e d # d e b
|
18
|
+
##d ###### ### ### # c#c # ### ### ###### d##
|
19
|
+
# # ###### # # ####### ####### # # ###### # #
|
20
|
+
bc ## ## ### ### #d eb ## ## ## ## be d# ### ### ## ## cb
|
21
|
+
# ## ## # # #a # c 1U2 c # a# # # ## ## #
|
22
|
+
# #b # ## # # # # ## # b# #
|
23
|
+
# # e # # # # ## ### # ### ## # # # # e # #
|
24
|
+
# # ## # # # ## # # ## # # # ## # #
|
25
|
+
# # # ## # # ##d ### ## # ## ### d## # # ## # # #
|
26
|
+
a# ##### # # ## ## ## ## ## ## # # ##### #a
|
27
|
+
d## b## # ### # a##### #####a # ### # ##b ##d
|
28
|
+
###c### # ## ## # # #e # e# # # ## ## # ###c###
|
29
|
+
## d #d## ## ## ## # ## ## # ## ## ## ##d# d ##
|
30
|
+
##eb# # ## # ### #a # a# ### # ## # #be##
|
31
|
+
## #a # ##e# # ## e a # # a e ## # #e## # a# ##
|
32
|
+
# # ## a # #### #b#b# #### # a ## # #
|
33
|
+
b# ## ## # #a # b # # # # # b # a# # ## ## #b
|
34
|
+
# # # e # ##d ### # # # ### d## # e # # #
|
35
|
+
#d#d ## # #### #ae## # # # # # ##ea# #### # ## d#d#
|
36
|
+
# ## # e # ## b # # b ## # e # ## #
|
37
|
+
b # # ### # # # ## ## # # # ### # # b
|
38
|
+
# # #c # ## # ### ## ## ## ## ### # ## # c# # #
|
39
|
+
## # ## ## e # ## # # ##### # # ## # e ## ## # ##
|
40
|
+
### # # ### ### # ##### # ### ### # # ###
|
41
|
+
# # ## ## ### ### ## ## # ## ## ### ### ## ## # #
|
42
|
+
b ### # # ### # ## ## # ### # # ### b
|
43
|
+
# ## # # # ## ###a### ###a### ## # # # ## #
|
44
|
+
#d# # # ##a # ### #c c# ### # a## # # #d#
|
45
|
+
# # ### ## ### ## ## ### ## ### # #
|
46
|
+
# ## ## #### ### ### #### ## ## #
|
47
|
+
EOS
|
data/levels/level2.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
#### # ## # ## # ####
|
18
|
+
### # #### ## ## ## ## #### # ###
|
19
|
+
# # # ##d # # d# #dbcd## ##dcbd# #d # # d## # # #
|
20
|
+
# # # # d ### #d## ## # ## ##d# ### d # # # #
|
21
|
+
# c ## # #### # # ## # ### # ## # # #### # ## c #
|
22
|
+
# ## ## # # #e# # d# # ## ## # #d # #e# # # ## ## #
|
23
|
+
# # #### # a## # ### ### # ##a # #### # #
|
24
|
+
####a ## # ## be1U2eb ## # ## a####
|
25
|
+
#### # ##### ## # # ## ## # # ## ##### # ####
|
26
|
+
c# ## ##### ### e# ##### #e ### ##### ## #c
|
27
|
+
## ## b # # e ### # # ### e # # b ## ##
|
28
|
+
# ## # # # ## # # # a###a # # # ## # # # ## #
|
29
|
+
## #d# # # ### ##### ##e###e## ##### ### # # #d# ##
|
30
|
+
# # # # ## # e## ## ## ##e # ## # # # #
|
31
|
+
# # #### # # e# # ###### # # ###### # #e # # #### # #
|
32
|
+
# # # ###c # #b# ###### # # ###### #b# # c### # # #
|
33
|
+
# ## # # # #d## ## # # ## ##d# # # # ## #
|
34
|
+
#a### # ## a # ## # d # # d # ## # a ## # ###a#
|
35
|
+
### # #### ## b ## ## ### ## ## b ## #### # ###
|
36
|
+
### b # # ### # # # #d## ##d# # # # ### # # b ###
|
37
|
+
### ### b#d ## ### ### ## d#b ### ###
|
38
|
+
# # ## ##### b#d e#### # ####e d#b ##### ## # #
|
39
|
+
## ### ##### ## #### #### ## ##### ### ##
|
40
|
+
## ## d # # # # # ### ### # # # # # d ## ##
|
41
|
+
##### da# d ## #e e# ## d #ad #####
|
42
|
+
##### # #b# ## # # d d # # ## #b# # #####
|
43
|
+
### #### # ### ## #d## ##d# ## ### # #### ###
|
44
|
+
#### ## # # # # # # # # # # # ## ####
|
45
|
+
# # ### ## ### ### ## ### # #
|
46
|
+
# #######c# ### d## ## # ## ##d ### #c####### #
|
47
|
+
EOS
|
data/levels/level3.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
a c c### ###c c a
|
18
|
+
# ### # ##b# ## ## ## # c c # ## ## ## #b## # ### #
|
19
|
+
# # e #c#### ## ## ### #1U2# ### ## ## ####c# e # #
|
20
|
+
a#### #c# c ## # ## # # ## # ## c #c# ####a
|
21
|
+
d # #aa #a### ## # # # ## ###a# aa# # d
|
22
|
+
##### # ### ### # #####
|
23
|
+
a## d ## # # # ### # # # ## d ##a
|
24
|
+
## #### # # # # # ###b ### b### # # # # # #### ##
|
25
|
+
a# #d ## ###### ## # # # # ## ###### ## d# #a
|
26
|
+
### # # ###### ##### ##### ###### # # ###
|
27
|
+
# c e### a a # ### # ##### # ### # a a ###e c #
|
28
|
+
# ## # # #ca# # # # #ac# # # ## #
|
29
|
+
d### # ### # # # # ###b # # b### # # # # ### # ###d
|
30
|
+
### ## ac # #c a b## ## ## ##b a c# # ca ## ###
|
31
|
+
## # b ### ### ## ## ### ### b # ##
|
32
|
+
# # # # # ### ## ## ### # # # # #
|
33
|
+
####b # # # # ## a # # # # a ## # # # # b####
|
34
|
+
e###### # a# # ## # # # # ## # #a # ######e
|
35
|
+
# ## ## # ## # # # # # # # # ## # ## ## #
|
36
|
+
# #### #### ### # # ### ### # # ### #### #### #
|
37
|
+
## ## c ##### ##### ##### ##### c ## ##
|
38
|
+
## ## ### # # # ## ##### ## # # # ### ## ##
|
39
|
+
# # ## #### ## # ## ##### ## # ## #### ## # #
|
40
|
+
# ##### ### #a a# ### ##### #
|
41
|
+
#d##a ## a ##a ### # # # ### a## a ## a##d#
|
42
|
+
# # #e# ## # c e # # ##### # ##### # # e c # ## #e# # #
|
43
|
+
# # e bc # # ## # ## ## # ## # # cb e # #
|
44
|
+
# ## # # # ### # # # # # ### # # # ## #
|
45
|
+
## # #### ### # ##### ##### # ### #### # ##
|
46
|
+
### # ## b ### d d ### b ## # ###
|
47
|
+
EOS
|
data/levels/level4.rb
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
b d b d d #### c ### ## ### ########b #### b # b #### b######## ### ## ### c #### d d b d b
|
18
|
+
# ### # # # # ## # # ## # # b # ## ### ## # b ## a c# ###### ## ### ## ###### #c a ## b # ## ### ## # b # # ## # # ## # # # # ### #
|
19
|
+
# ####b## ## # # # ### ### ## # # # ### # ### e# # # ### #### # ## ##d d## ## # #### ### # # #e ### # ### # # # ## ### ### # # # ## ##b#### #
|
20
|
+
# #b ## ## # a## ### ### ##### # # ### # # ### e### ## # #### # # # #d ## # # # # ## d# # # # #### # ## ###e ### # # ### # # ##### ### ### ##a # ## ## b# #
|
21
|
+
# ## # # ## # # ab # # #### d# # # # # #### ###d ### ## ## #e # ## # # # ## # e# ## ## ### d### #### # # # # #d #### # # ba # # ## # # ## #
|
22
|
+
# ## ## d # # # b # # # # d# ## # #c# # # # # b # # # ## ####e cc cc e#### ## # # # b # # # # #c# # ## #d # # # # b # # # d ## ## #
|
23
|
+
e# ce ##b### ### ## ##d## ## #d# # c # # # # # d #a## #d d c# # c c ###### # # # # # # ###### c c # #c d d# ##a# d # # # # # c # #d# ## ##d## ## ### ###b## ec #e
|
24
|
+
# # # # # # d# # # ## #d #### # # # # b c # ###b # # #a#c# # #### # # # # #### # #c#a# # # b### # c b # # # # #### d# ## # # #d # # # # # #
|
25
|
+
#### # # ## #### # ## e ## # # a ## #### d # # # e### #d ##c## # #### ## ## #### # ##c## d# ###e # # # d #### ## a # # ## e ## # #### ## # # ####
|
26
|
+
### #c ## # ## ## # # ## ## ## # b## #### # # # ## c e## # # ## # ## # #b # # # # b# # ## # ## # # ##e c ## # # # #### ##b # ## ## ## # # ## ## # ## c# ###
|
27
|
+
## # ### # # ## ## # e# # ## # # # ## ##### # ## # ## d ## ### ## # # ### a ## # # ## a ### # # ## ### ## d ## # ## # ##### ## # # # ## # #e # ## ## # # ### # ##
|
28
|
+
# ## #e ## a c ## # # ### # #e#c ####### #a ## ###### #eb #### ## e # e #### # # # # #### e # e ## #### be# ###### ## a# ####### c#e# # ### # # ## c a ## e# ## #
|
29
|
+
b b # ## ## # # #### #a # e # a ##c ## # ## c ## ## ## ## ## # # b ## # ## b # # ## ## ## ## ## c ## # ## c## a # e # a# #### # # ## ## # b b
|
30
|
+
# ##b### ## # ## a# #d ##### ## # # b## a # # ## ### # d ### # # # c # ## ## # c # # # ### d # ### ## # # a ##b # # ## ##### d# #a ## # ## ###b## #
|
31
|
+
# # e # # b### # ### ## ## # b## # ## c# # # # # # # # d# d####a # # # # # # a####d #d # # # # # # # #c ## # ##b # ## ## ### # ###b # # e # #
|
32
|
+
## # #### ## # # ### ##e#b ## #### # # d## ## #d# # ## ## b# # ## ec # # ## # # ## # # ce ## # #b ## ## # #d# ## ##d # # #### ## b#e## ### # # ## #### # ##
|
33
|
+
#### ## ## ## b### ## # # ## ## ### # #### #### # ###### # ## ##b ## c# # #c ## b## ## # ###### # #### #### # ### ## ## # # ## ###b ## ## ## ####
|
34
|
+
# a # ### #### # # # # # ## ### be## # # #### # e d # ## #d# # # ##b ## ## # # # ## ## b## # # #d# ## # d e # #### # # ##eb ### ## # # # # # #### ### # a #
|
35
|
+
# # b#### ## d### a ### # # # ### ## ## ## # # # # # # ##a# # ## # # # ## ## # # # ## # #a## # # # # # # ## ## ## ### # # # ### a ###d ## ####b # #
|
36
|
+
# # ## # ## ### ## ### # #### ### #e#### ### # ## # ### # ##e# # #e## a ### a ##e# # #e## # ### # ## # ### ####e# ### #### # ### ## ### ## # ## # #
|
37
|
+
#### # # # # # # ###d # # c d # # ### ### #d ###d # #### ##b ##### ## # ####e# # # #e#### # ## ##### b## #### # d### d# ### ### # # d c # # d### # # # # # # ####
|
38
|
+
## # b #e ## #d## # ## ## # ## # # #a## #### #### c # ### # ### ## a ### ### a ## ### # ### # c #### #### ##a# # # ## # ## ## # ##d# ## e# b # ##
|
39
|
+
# # a## ## # # # ## #c## e### # # ## #e dad##a#####d# # d# # # # ## ### # ##### # ### ## # # # #d # #d#####a##dad e# ## # # ###e ##c# ## # # # ## ##a # #
|
40
|
+
# # # #d### ## ## ## ### # ## ### # ###### ### # ### # e ###### # b # b # ###### e # ### # ### ###### # ### ## # ### ## ## ## ###d# # # #
|
41
|
+
# b####### ### ##b c# # # c b## ##b #### # # d ## # ## # ## #### ## # # # # ## #### ## # ## # ## d # # #### b## ##b c # # #c b## ### #######b #
|
42
|
+
## # ### # # # ### d## # ### #b # # #### # # ## ### # # #### # ### ## ## # # a###a # # ## ## ### # #### # # ### ## # # #### # # b# ### # ##d ### # # # ### # ##
|
43
|
+
a # a# ## # # ### #### # # ### ##d # # # a## # # # ec# # ## # # # # d###d # # # # ## # #ce # # # ##a # # # d## ### # # #### ### # # ## #a # a
|
44
|
+
### # ###d #### # # ## ## # b# # # ###a# # # # # ##c### # # ## ##### # # ## ## # # ##### ## # # ###c## # # # # #a### # # #b # ## ## # # #### d### # ###
|
45
|
+
e ### ## # ##a ## ## ##### ####a b# ##### d# ### ##b#### # c e # d ###### b# # # #b ###### d # e c # ####b## ### #d ##### #b a#### ##### ## ## a## # ## ### e
|
46
|
+
# ### ### ### ## ## #a# ### e e#bc # # # ed ## ## # d# ### ## b# ##a ### ### a## #b ## ### #d # ## ## de # # # cb#e e ### #a# ## ## ### ### ### #
|
47
|
+
# # ## ##a #### # # # # ## # ### # ### # ### #### e### # # d## ## #c # c# ## ##d # # ###e #### ### # ### # ### # ## # # # # #### a## ## # #
|
48
|
+
# # # ####d # ## ##e # # ## # ec #d ## # # ed #c # # # # ##### # ### #b#### e## # ##c c## # ##e ####b# ### # ##### # # # # c# de # # ## d# ce # ## # # e## ## # d#### # # #
|
49
|
+
# ### ## d # # # # # # ## # # # #### b ## e # #### # d #b ## #c## ## a# #a ## ##c# ## b# d # #### # e ## b #### # # # ## # # # # # # d ## ### #
|
50
|
+
# e # # # ## ### ## ### # ## ## # ###be#### # # #c e # ## ##### # e# # c ## ## c # #e # ##### ## # e c# # # ####eb### # ## ## # ### ## ### ## # # # e #
|
51
|
+
#### ##### # # ## b# # # ## ## ## # #a # ## # # e## # # # #b# ## # ### ### # ## #b# # # # ##e # # ## # a# # ## ## ## # # #b ## # # ##### ####
|
52
|
+
# ### # # # ## # # ### ## ### # e # # ### ### # # ## # # ###### ##a### a### # # ###a ###a## ###### # # ## # # ### ### # # e # ### ## ### # # ## # # # ### #
|
53
|
+
# ## # # #### b # #c b #### ### # ## # # ###### #### #c#### # # a ## ## ### ### ### ## ## a # # ####c# #### ###### # # ## # ### #### b c# # b #### # # ## #
|
54
|
+
## ##c# a # #### # #### # c##### ##e ##b ## ##a## e # ## # ## # ## ## 1U2 ## ## # ## # ## # e ##a## ## b## e## #####c # #### # #### # a #c## ##
|
55
|
+
## # ##e ## # # ## # ## # e # # # e# ### #c# ## # # # ##### ## # # ##### ae ea ##### # # ## ##### # # # ## #c# ### #e # # # e # ## # ## # # ## e## # ##
|
56
|
+
## ## # #b # ##### ###b#a ### # # # ##a e## # ## #b ### # ## #### # #### ## # ### b# ## # ##e a## # # # ### a#b### ##### # b# # ## ##
|
57
|
+
b ## ## # # # # # ## ### ## # ## # d## # # # #### b # ### ### #### #### ## # # # ## #### #### ### ### # b #### # # # ##d # ## # ## ### ## # # # # # ## ## b
|
58
|
+
#e## # ## ## # ## d ## # ## ### # # ## # # # c## ## ##### # ### # ##### ## ##c # # # ## # # ### ## # ## d ## # ## ## # ##e#
|
59
|
+
a# c# # # # c# # ## # #### # ## # dcc#### # # ## ####c a## # c## ##e# ### #b### ##### ###b# ### #e## ##c # ##a c#### ## # # ####ccd # ## # #### # ## # #c # # # #c #a
|
60
|
+
a## #d # # # c# #a ## ## ## ### #d # e## d # ## #### # #b# # #d ## # ### ### #e e# ### ### # ## d# # #b# # #### ## # d ##e # d# ### ## ## ## a# #c # # # d# ##a
|
61
|
+
## # a# # # # # ## ## e## ## ##a ## ## # ### #### ## # # # # #d# a # ## ## ## d # d ## ## ## # a #d# # # # # ## #### ### # ## ## a## ## ##e ## ## # # # # #a # ##
|
62
|
+
# ## # # #e## ### # ## ### ## ## # # ### # ## ## ## ## # e # # ##b #### #### b## # # e # ## ## ## ## # ### # # ## ## ### ## # ### ##e# # # ## #
|
63
|
+
## ## ## # ## ### d # # c## # # ### # # ### # b ## ##### # ### # # ### e# #e# d d #e# #e ### # # ### # ##### ## b # ### # # ### # # ##c # # d ### ## # ## ## ##
|
64
|
+
### # ## ## ## ###d # ## # ### ### # ###### # # #### # ## ## ## ## # ## ## ## ## # #### # # ###### # ### ### # ## # d### ## ## ## # ###
|
65
|
+
# # ## #####d## # # # # # ## ## e#b # # ## # ## ####### ### # # ## # # # # # ## # # ### ####### ## # ## # # b#e ## ## # # # # # ##d##### ## # #
|
66
|
+
# ###### # # # #d### #b# # #d# ####### # # ##c#e # b # # ### ## ## # # ## ## ### # # b # e#c## # # ####### #d# # #b# ###d# # # # ###### #
|
67
|
+
## # # ## #### ### ## c # # ## #c### #### # ## #d### # ##### # ### # ## # #d d# # ## # ### # ##### # ###d# ## # #### ###c# ## # # c ## ### #### ## # # ##
|
68
|
+
## # ### # ## b## #### ## # ## # # # ## ## # ## ## ## ## ## ### c## ## # # # # # # ## ##c ### ## ## ## ## ## # ## ## # # # ## # ## #### ##b ## # ### # ##
|
69
|
+
# ### # # #b## #### ## ### ## # ## # # a ## # # #### # # #### a# #a #### # # #### # # ## a # # ## # ## ### ## #### ##b# # # ### #
|
70
|
+
#c e # #b## # ## ## ## ### ### ## c# ## # # # # ## ## # b # # # ## # ## ## ## ## # ## # # # b # ## ## # # # # ## #c ## ### ### ## ## ## # ##b# # e c#
|
71
|
+
a ######## # ## #e #### # #b #### d # #b#c ## # ### # ## # # # ##b # # # ## ## # # # b## # # # ## # ### # ## c#b# # d #### b# # #### e# ## # ######## a
|
72
|
+
# # # ## # d # # # ### ## ### ## # # a # ### # ### #a# # # # ## ## # # # #a# ### # ### # a # # ## ### ## ### # # # d # ## # # #
|
73
|
+
# ### # # # ## # #### #### ### # # # ## ##d### ## #### ## # # # # # ## ## # # # # # ## #### ## ###d## ## # # # ### #### #### # ## # # # ### #
|
74
|
+
## #e## ## # #### # # ### a #### ##### ###a ## # #######c# # ## # ## ######### ## # ## # #c####### # ## a### ##### #### a ### # # #### # ## ##e# ##
|
75
|
+
### #a# # ## # e #c a## # ###b# ####### # ########### # ###b###c### # ####### ee#ee ####### # ###c###b### # ########### # ####### #b### # ##a c# e # ## # #a# ###
|
76
|
+
#d ## # # # ### ## # ## # c c ## # #a # ### ##a## # c## a ## # ## # ## # ## # ## # ## a ##c # ##a## ### # a# # ## c c # ## # ## ### # # # ## d#
|
77
|
+
# # ####a## #### # ### # # c## ## # # # d# ## # e c ## e#### ### # # # ## # ## # # # ### ####e ## c e # ## #d # # # ## ##c # # ### # #### ##a#### # #
|
78
|
+
# ## # # # e ## # # # #c # # # b ## ##cd ## #### d ## # ## d #### ## dc## ## b # # # c# # # # ## e # # # ## #
|
79
|
+
#e##### #b #d### c e # # #e# e b# ## # ## # ## #### ## # # ## #### # ## # ## # ## ## # ## # ## # #### ## # # ## #### ## # ## # ## #b e #e# # # e c ###d# b# #####e#
|
80
|
+
# ###e ## # ## # # ## ## ## # # ### #b# #### ## #d # # ## # ##### ## ## ##### # ## # # d# ## #### #b# ### # # ## ## ## # # ## # ## e### #
|
81
|
+
##b # # ## d # b ## # ## ## # # # ### ### #### # ## #### # # # ### # # # #### ## # #### ### ### # # # ## ## # ## b # d ## # # b##
|
82
|
+
## ## ## a# #e d ###c# ####### # #b# # # b # # # ## ## # # #### e# # # # # # # # #e #### # # ## ## # # # b # # #b# # ####### #c### d e# #a ## ## ##
|
83
|
+
#c # ## # # # # # # #### b ## # # ### # # ### # # ### # b ###a ### # # # # # # # # # ### a### b # ### # # ### # # ### # # ## b #### # # # # # # ## # c#
|
84
|
+
c# #### ## # # # # ###e # ## # # # ## ## ## ##### ## ## e #e # # b ### ### #d# # # #d# ### ### b # # e# e ## ## ##### ## ## ## # # # ## # e### # # # # ## #### #c
|
85
|
+
##cd ## # # # ## # ## ### # ##c ## # ######d #c ## ## #### # d#a # # # # # # a#d # #### ## ## c# d###### # ## c## # ### ## # ## # # # ## dc##
|
86
|
+
# ### # # e ## # ## ## # # # # ### b## ## # ### # # ## # ### # ## # # # ## # ### # ## # # ### # ## ##b ### # # # # ## ## # ## e # # ### #
|
87
|
+
# # # #### ### d#e ## #### # # # #### #d# # ## # ## ####e # ## # b ## a#####a ## b # ## # e#### ## # ## # #d# #### # # # #### ## e#d ### #### # # #
|
88
|
+
b a## ### c # # ## ###### # ## b ## e # ## a#####e#### # # # # # # #c ## ## c# # # # # # # ####e#####a ## # e ## b ## # ###### ## # # c ### ##a b
|
89
|
+
# b# #b ## # # # # ## # c # #e ### b##### # ## # ### ### ## ## ## # # # # e# e e #e # # # # ## ## ## ### ### # ## # #####b ### e# # c # ## # # # # ## b# #b #
|
90
|
+
# ####c # ## d ### # # # ## # ## d## # c # c # #ca # ## ## # ##d # d# # #d # d## # ## ## # ac# # c # c # ##d ## # ## # # # ### d ## # c#### #
|
91
|
+
e ##d### # # ## ##c # # e ####e## ### # ## # ## # ### # # # ## ## # # ## ## # # # ### # ## # ## # ### ##e#### e # # c## ## # # ###d## e
|
92
|
+
# ## #### ##a## #e###b ## ## # c###d## ab # ## # a## # # # c# ## # # # ## ## ## #a ### ### a# ## ## ## # # # ## #c # # # ##a # ## # ba ##d###c # ## ## b###e# ##a## #### ## #
|
93
|
+
### # #b### # # ## ## ## # ## ### ##cb# # # # ## ###### # # ## # ### ## ### ## ### # ## # # ###### ## # # # #bc## ### ## # ## ## ## # # ###b# # ###
|
94
|
+
##### ## ## d # ##### # ## # # #### # # e d c# ## ## # # # # # ## #### #d # d# #### ## # # # # # ## ## #c d e # # #### # # ## # ##### # d ## ## #####
|
95
|
+
### # ## a # ### # d## ###de ## # c#d ##### # # # e## # ##### # # # ##### # ##e # # # ##### d#c # ## ed### ##d # ### # a ## # ###
|
96
|
+
# # a# # # # ##e# ## # ## ## # ### # # c # # # # ## # # # ###d # # # d### # # # ## # # # # c # # ### # ## ## # ## #e## # # # #a # #
|
97
|
+
# ## # ## ## # #e#a ## # # b ## ## ###d #### e # ### # ## # ## ### ## ## ## # ## ## ## ### ## # ## # ### # e #### d### ## ## b # # ## a#e# # ## ## # ## #
|
98
|
+
# #### #### # # # ### e## ## ### # e # # ## ## #d ## # # ## ## ### #### # #### ### ## ## # # ## d# ## ## # # e # ### ## ##e ### # # # #### #### #
|
99
|
+
c # b## # ## c # ### ### ### #d# #####b# # #### #### # # # ### ## c c ## ### # # # #### #### # #b##### #d# ### ### ### # c ## # ##b # c
|
100
|
+
# # # # ##e # # # # # # # ### ## # # b## # ## d #d# a# ##c e# e# ### # # ### #e #e c## #a #d# d ## # ##b # # ## ### # # # # # # # e## # # # #
|
101
|
+
# # # # # # # # # ## # ## # # # # # # # ### # # ## ## b# e#c c# #### #### #c c#e #b ## ## # # ### # # # # # # # ## # ## # # # # # # # # #
|
102
|
+
# ## ## # # ## #### # ## ## #### ## # ## ## # ### ## # # # # b## #b #### #### b# ##b # # # # ## ### # ## ## # ## #### ## ## # #### ## # # ## ## #
|
103
|
+
## # ## # #### ## ## ##e #a # #### ## # ## ## #b # ## ### d # #e### ### # # # # # # # ### ###e# # d ### ## # b# ## ## # ## #### # a# e## ## ## #### # ## # ##
|
104
|
+
#a # # ## # # ##### ## ## c# ### # ## c # ## # #cb ## ## # ## ## # ## ## # ## ## # ## ## bc# # ## # c ## # ### #c ## ## ##### # # ## # # a#
|
105
|
+
### # # # # ## # # ## # # # ## b## # ## # c# c## d ### d # #e### ###e# # d ### d ##c #c # ## # ##b ## # # # ## # # ## # # # # ###
|
106
|
+
### ### # # e ## ## ### ## e###d #### ## # ##### # # ### # ## # # ## # # # #### ## ## #### # # # ## # # ## # ### # # ##### # ## #### d###e ## ### ## ## e # # ### ###
|
107
|
+
### ## d###a# #d##### #### # # ## ### d # # # # ## # # #a## d ## # #### ### #### # ## d ##a# # # ## # # # # d ### ## # # #### #####d# #a###d ## ###
|
108
|
+
### # ### ###### # # ### # #e ## # # ## ## # # # ###e # a a# # #### ## ## #### # #a a # e### # # # ## ## # # ## e# # ### # # ###### ### # ###
|
109
|
+
# # ### ######cd #### # # # # # # ## #### # ## ## # # ### # # ## ## # # ## ## # # ## ## # # ### # # ## ## # #### ## # # # # # # #### dc###### ### # #
|
110
|
+
## ##c# ### # ## #b ## ### # e ## ##d# # # ### e a # # #b # # e# # ## ### # # # ### ####### ### # # # ### ## # #e # # b# # # a e ### # # #d## ## e # ### ## b# ## # ### #c## ##
|
111
|
+
## ### c c # # d # ## c# ## #b # # # ## # ## # e #c#### ## ## # # # # # ## ## ####c# e # ## # ## # # # b# ## #c ## # d # # c c ### ##
|
112
|
+
## # ## ## # ## #### # #d a c### # e # #b# # ## # ####c## # ## # ## # ## ## ## ## # ## # ## # ##c#### # ## # #b# # e # ###c a d# # #### ## # ## ## # ##
|
113
|
+
# ## # a# ## #d ### # # ### # #c# # # ## # # ## ## ##c# # #### #### ## ## #### #### # #c## ## ## # # ## # # #c# # ### # # ### d# ## #a # ## #
|
114
|
+
## # # ## # # # # a # ## # # # ### b# # ## ###e ## # # c ## ## # # # # ## ## c # # ## e### ## # #b ### # # # ## # a # # # # ## # # ##
|
115
|
+
## ### #b# # ##### #### ## #e # #####d#b# ### #c # #e# ## ### # # #e ## ### # # ### # # ### ## e# # # ### ## #e# # c# ### #b#d##### # e# ## #### ##### # #b# ### ##
|
116
|
+
c# ## # # ## e## ## # # ## # # # ## ### ## # # ## ## #### # cd ### ##### ### dc # #### ## ## # # ## ### ## # # # ## # # ## ##e ## # # ## #c
|
117
|
+
EOS
|
data/levels/level5.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
# c d # a a # d c #
|
18
|
+
## bc # e b#b e # cb ##
|
19
|
+
d d
|
20
|
+
b e # d d # e b
|
21
|
+
# c c c c #
|
22
|
+
c c e e c c
|
23
|
+
## c 1U2 c ##
|
24
|
+
# d d # d d #
|
25
|
+
b# c e b b e c #b
|
26
|
+
b# ba a ae ea a ab #b
|
27
|
+
a # # a
|
28
|
+
# #
|
29
|
+
e a e e a e
|
30
|
+
# # # #
|
31
|
+
b eb a#e e#a be b
|
32
|
+
EOS
|
data/levels/level6.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
a c# #c a
|
18
|
+
cc # d # # d # cc
|
19
|
+
# e # # e #
|
20
|
+
e e
|
21
|
+
b ea a a ae b
|
22
|
+
c b ## # ## b c
|
23
|
+
# # a a # #
|
24
|
+
b de b d d b ed b
|
25
|
+
c ec ae ea ce c
|
26
|
+
#d# #d#
|
27
|
+
e ed de e
|
28
|
+
# e e a a e e #
|
29
|
+
bc# a a #cb
|
30
|
+
c d#e 1U2 e#d c
|
31
|
+
# e # # e #
|
32
|
+
EOS
|
data/levels/level7.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
a # # a
|
18
|
+
## c c ##
|
19
|
+
abe eba
|
20
|
+
c d# b b # b b #d c
|
21
|
+
# cbe # ebc #
|
22
|
+
# # # # # #
|
23
|
+
b c c # # # c c b
|
24
|
+
# d # d d # d #
|
25
|
+
cd # a a # dc
|
26
|
+
# b b #
|
27
|
+
b##dbde edbd##b
|
28
|
+
# b # 1U2 # b #
|
29
|
+
# #c ## ## c# #
|
30
|
+
b ca b# #c# #c# #b ac b
|
31
|
+
d# ed # # de #d
|
32
|
+
EOS
|
data/levels/level8.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
carrying_capacity 5
|
2
|
+
turn_limit 500
|
3
|
+
time_limit 20000
|
4
|
+
boost_cooldown 15
|
5
|
+
|
6
|
+
legend "1" => Monkey.player(1),
|
7
|
+
"2" => Monkey.player(2),
|
8
|
+
"a" => Track.tier(-2),
|
9
|
+
"b" => Track.tier(-1),
|
10
|
+
"c" => Track.tier(1),
|
11
|
+
"d" => Track.tier(2),
|
12
|
+
"e" => Track.tier(3),
|
13
|
+
"U" => User,
|
14
|
+
"#" => Wall
|
15
|
+
|
16
|
+
layout <<EOS
|
17
|
+
a # # e e # # a
|
18
|
+
#b c 1U2 c b#
|
19
|
+
d# c# dc e e cd #c #d
|
20
|
+
a a
|
21
|
+
## # # ece ece # # ##
|
22
|
+
eb b b be
|
23
|
+
c c
|
24
|
+
d aeb ca ac bea d
|
25
|
+
e # b # # b # e
|
26
|
+
## ##
|
27
|
+
c a # b b # a c
|
28
|
+
# e e ## d d ## e e #
|
29
|
+
d #c c d# #d c c# d
|
30
|
+
e # # e
|
31
|
+
# # c c # #
|
32
|
+
EOS
|
data/levels/mapgen.cpp
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
# <höjd> <bredd> <flyttal: densitet väggar> <flyttal: densitet tracks>
|
2
|
+
|
3
|
+
#include <algorithm>
|
4
|
+
#include <iostream>
|
5
|
+
#include <cassert>
|
6
|
+
#include <cstdlib>
|
7
|
+
#include <string>
|
8
|
+
#include <vector>
|
9
|
+
#include <ctime>
|
10
|
+
#include <queue>
|
11
|
+
|
12
|
+
using namespace std;
|
13
|
+
|
14
|
+
vector<string> map;
|
15
|
+
int width, height;
|
16
|
+
|
17
|
+
int dr[4] = {0, 1, 0, -1};
|
18
|
+
int dc[4] = {1, 0, -1, 0};
|
19
|
+
|
20
|
+
void printMap() {
|
21
|
+
return;
|
22
|
+
for (int i = 0; i < height; ++i) {
|
23
|
+
for (int j = 0; j < width; ++j) {
|
24
|
+
cout << map[i][j];
|
25
|
+
}
|
26
|
+
cout << endl;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
void connectSquares(int r1, int c1, int r2, int c2) {
|
31
|
+
//cout << "connecting (" << r1 << "," << c1 << ") and (" << r2 << "," << c2 << ")" << endl;
|
32
|
+
pair<int,int> leftPoint, rightPoint;
|
33
|
+
if (c1 < c2) {
|
34
|
+
leftPoint = make_pair(r1,c1);
|
35
|
+
rightPoint = make_pair(r2,c2);
|
36
|
+
} else {
|
37
|
+
leftPoint = make_pair(r2,c2);
|
38
|
+
rightPoint = make_pair(r1,c1);
|
39
|
+
}
|
40
|
+
|
41
|
+
int minRow = min(leftPoint.first, rightPoint.first);
|
42
|
+
int maxRow = max(leftPoint.first, rightPoint.first);
|
43
|
+
|
44
|
+
for (int curC = leftPoint.second; curC <= rightPoint.second; ++curC) {
|
45
|
+
map[leftPoint.first][curC] = ' ';
|
46
|
+
}
|
47
|
+
|
48
|
+
for (int curR = minRow; curR <= maxRow; ++curR) {
|
49
|
+
map[curR][rightPoint.second] = ' ';
|
50
|
+
}
|
51
|
+
|
52
|
+
printMap();
|
53
|
+
}
|
54
|
+
|
55
|
+
void makeSureThereIsAPathFrom0To1(vector<vector<int> > &ids) {
|
56
|
+
vector<pair<int,int> > ones;
|
57
|
+
vector<pair<int,int> > zeroes;
|
58
|
+
for (int i = 0; i < ids.size(); ++i) {
|
59
|
+
for (int j = 0; j < ids[0].size(); ++j) {
|
60
|
+
if (map[i][j] == '#') continue;
|
61
|
+
if (ids[i][j] == 0) zeroes.push_back(make_pair(i,j));
|
62
|
+
else if (ids[i][j] == 1) ones.push_back(make_pair(i,j));
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
int besti, bestj;
|
67
|
+
int min = 1<<30;
|
68
|
+
|
69
|
+
for (int i = 0; i < zeroes.size(); ++i) {
|
70
|
+
for (int j = 0; j < ones.size(); ++j) {
|
71
|
+
int dr = abs(zeroes[i].first-ones[j].first);
|
72
|
+
int dc = abs(zeroes[i].second-ones[j].second);
|
73
|
+
|
74
|
+
if (dr + dc < min) {
|
75
|
+
besti = i;
|
76
|
+
bestj = j;
|
77
|
+
min = dr + dc;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
connectSquares(zeroes[besti].first, zeroes[besti].second, ones[bestj].first, ones[bestj].second);
|
83
|
+
}
|
84
|
+
|
85
|
+
void dfs(vector<vector<int> > &vis, int r, int c, int component) {
|
86
|
+
if (!(r >= 0 && r < height && c >= 0 && c < width))
|
87
|
+
return;
|
88
|
+
|
89
|
+
if (map[r][c] == '#') return;
|
90
|
+
if (vis[r][c] != -1) return;
|
91
|
+
vis[r][c] = component;
|
92
|
+
for (int i = 0; i < 4; ++i) {
|
93
|
+
dfs(vis, r + dr[i], c + dc[i], component);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
vector<vector<int> > partitionMap() {
|
98
|
+
vector<vector<int> > vis(map.size(), vector<int>(map[0].size(), -1));
|
99
|
+
|
100
|
+
int numComponents = 0;
|
101
|
+
for (int i = 0; i < map.size(); ++i) {
|
102
|
+
for (int j = 0; j < map[i].size(); ++j) {
|
103
|
+
assert(map[i].size() == map[0].size() && "map sizes aren't equal");
|
104
|
+
if (map[i][j] != '#' && -1 == vis[i][j]) {
|
105
|
+
dfs(vis, i, j, numComponents++);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
return vis;
|
111
|
+
}
|
112
|
+
|
113
|
+
int main() {
|
114
|
+
srand(time(0));
|
115
|
+
|
116
|
+
cin >> width >> height;
|
117
|
+
double density;
|
118
|
+
cin >> density;
|
119
|
+
double densityTracks;
|
120
|
+
cin >> densityTracks;
|
121
|
+
|
122
|
+
map.resize(height);
|
123
|
+
|
124
|
+
for (int i = 0; i < height; ++i) {
|
125
|
+
string mapRow;
|
126
|
+
for (int j = 0; j < width; ++j) {
|
127
|
+
// wall or not?
|
128
|
+
int r = rand();
|
129
|
+
double rat = (r+0.0)/((1<<31)-1);
|
130
|
+
if (rat < density) {
|
131
|
+
// place wall (might be removed later)
|
132
|
+
mapRow.push_back('#');
|
133
|
+
} else {
|
134
|
+
mapRow.push_back(' ');
|
135
|
+
}
|
136
|
+
}
|
137
|
+
map[i] = mapRow;
|
138
|
+
}
|
139
|
+
|
140
|
+
// remove random box on right edge (to make mirroring connected)
|
141
|
+
int rRow = rand() % height;
|
142
|
+
map[rRow][width-2] = ' ';
|
143
|
+
map[rRow][width-1] = ' ';
|
144
|
+
|
145
|
+
rRow = rand() % height;
|
146
|
+
map[rRow][width-1] = ' ';
|
147
|
+
|
148
|
+
for (;;) {
|
149
|
+
vector<vector<int> > mapPartition = partitionMap();
|
150
|
+
|
151
|
+
int check = 0;
|
152
|
+
for (int i = 0; i < mapPartition.size(); ++i) {
|
153
|
+
for (int j = 0; j < mapPartition[i].size(); ++j) {
|
154
|
+
check = max(mapPartition[i][j], check);
|
155
|
+
//cout << mapPartition[i][j] << "\t";
|
156
|
+
}
|
157
|
+
//cout << endl;
|
158
|
+
}
|
159
|
+
|
160
|
+
if (check == 0) break;
|
161
|
+
|
162
|
+
// make sure there is a path from 0 to 1
|
163
|
+
makeSureThereIsAPathFrom0To1(mapPartition);
|
164
|
+
}
|
165
|
+
|
166
|
+
vector<int> uCandidates;
|
167
|
+
for (int i = 0; i < height; ++i) {
|
168
|
+
if (map[i][width-1] == ' ') {
|
169
|
+
uCandidates.push_back(i);
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
random_shuffle(uCandidates.begin(), uCandidates.end());
|
174
|
+
|
175
|
+
map[uCandidates[0]][width-1] = 'U';
|
176
|
+
map[uCandidates[0]][width-2] = '1';
|
177
|
+
|
178
|
+
// place tracks
|
179
|
+
vector<pair<int,int> > pCandidates;
|
180
|
+
for (int i = 0; i < height; ++i) {
|
181
|
+
for (int j = 0; j < width-1; ++j) {
|
182
|
+
if (map[i][j] == ' ') {
|
183
|
+
pCandidates.push_back(make_pair(i, j));
|
184
|
+
}
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
random_shuffle(pCandidates.begin(), pCandidates.end());
|
189
|
+
|
190
|
+
int nTracks = int(densityTracks * pCandidates.size());
|
191
|
+
|
192
|
+
for (int i = 0; i < nTracks; ++i) {
|
193
|
+
char type = 'a' + (rand()%5);
|
194
|
+
map[pCandidates[i].first][ pCandidates[i].second] = type;
|
195
|
+
}
|
196
|
+
|
197
|
+
for (int i = 0; i < height; ++i) {
|
198
|
+
string rowcp = map[i];
|
199
|
+
reverse(rowcp.begin(), rowcp.end());
|
200
|
+
cout << map[i];
|
201
|
+
for (int i = 1; i < rowcp.size(); ++i) {
|
202
|
+
if (rowcp[i] == '1') cout << 2;
|
203
|
+
else
|
204
|
+
cout << rowcp[i];
|
205
|
+
}
|
206
|
+
cout << endl;
|
207
|
+
}
|
208
|
+
}
|
data/lib/monkey_music/player.rb
CHANGED
@@ -89,7 +89,8 @@ module MonkeyMusic
|
|
89
89
|
def response_to(queries)
|
90
90
|
tracks = []
|
91
91
|
queries.each do |uri|
|
92
|
-
|
92
|
+
browse_result = @monkey.level.tracks.find {|t| t.uri == uri }
|
93
|
+
tracks << browse_result if defined? browse_result
|
93
94
|
end
|
94
95
|
lines = []
|
95
96
|
lines << tracks.length
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monkeymusic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Soderlund
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
description: n/a
|
@@ -31,49 +31,56 @@ executables:
|
|
31
31
|
extensions: []
|
32
32
|
extra_rdoc_files: []
|
33
33
|
files:
|
34
|
-
- demo_players/java/install
|
35
|
-
- demo_players/java/runme
|
36
|
-
- demo_players/java/DemoPlayer.java
|
37
34
|
- demo_players/ruby/demo_player.rb
|
38
|
-
- demo_players/python/
|
39
|
-
- demo_players/python/util.pyc
|
40
|
-
- demo_players/python/state.pickle
|
35
|
+
- demo_players/python/monkey.py
|
41
36
|
- demo_players/python/install
|
42
37
|
- demo_players/python/runme
|
43
|
-
- demo_players/python/
|
38
|
+
- demo_players/python/util.py
|
39
|
+
- demo_players/java/install
|
40
|
+
- demo_players/java/DemoPlayer.java
|
41
|
+
- demo_players/java/runme
|
44
42
|
- lib/monkey_music_generate.rb
|
45
|
-
- lib/
|
43
|
+
- lib/monkey_music.rb
|
44
|
+
- lib/monkey_music_generate/score_system.rb
|
46
45
|
- lib/monkey_music_generate/toplist_loader.rb
|
47
46
|
- lib/monkey_music_generate/runner.rb
|
48
|
-
- lib/monkey_music_generate/
|
49
|
-
- lib/monkey_music.rb
|
50
|
-
- lib/monkey_music/
|
47
|
+
- lib/monkey_music_generate/recommendation_loader.rb
|
48
|
+
- lib/monkey_music/game.rb
|
49
|
+
- lib/monkey_music/units/user.rb
|
50
|
+
- lib/monkey_music/units/base.rb
|
51
51
|
- lib/monkey_music/units/wall.rb
|
52
52
|
- lib/monkey_music/units/monkey.rb
|
53
53
|
- lib/monkey_music/units/track.rb
|
54
|
-
- lib/monkey_music/
|
55
|
-
- lib/monkey_music/
|
56
|
-
- lib/monkey_music/
|
54
|
+
- lib/monkey_music/ui/browser.rb
|
55
|
+
- lib/monkey_music/ui/console.rb
|
56
|
+
- lib/monkey_music/level_loader.rb
|
57
57
|
- lib/monkey_music/runner.rb
|
58
|
+
- lib/monkey_music/player.rb
|
59
|
+
- lib/monkey_music/level.rb
|
58
60
|
- lib/monkey_music/metadata/track.rb
|
59
|
-
- lib/monkey_music/metadata/artist.rb
|
60
61
|
- lib/monkey_music/metadata/album.rb
|
61
|
-
- lib/monkey_music/
|
62
|
-
-
|
63
|
-
- lib/monkey_music/ui/browser.rb
|
64
|
-
- lib/monkey_music/ui/console.rb
|
65
|
-
- levels/metadata.rb
|
66
|
-
- levels/easy.rb
|
67
|
-
- levels/demo_level.rb
|
62
|
+
- lib/monkey_music/metadata/artist.rb
|
63
|
+
- levels/level8.rb
|
68
64
|
- levels/walls.rb
|
65
|
+
- levels/level5.rb
|
66
|
+
- levels/easy.rb
|
67
|
+
- levels/level6.rb
|
68
|
+
- levels/metadata.rb
|
69
|
+
- levels/level4.rb
|
69
70
|
- levels/maze.rb
|
71
|
+
- levels/mapgen.cpp
|
72
|
+
- levels/demo_level.rb
|
73
|
+
- levels/level1.rb
|
74
|
+
- levels/level2.rb
|
75
|
+
- levels/level7.rb
|
76
|
+
- levels/level3.rb
|
70
77
|
- bin/monkeymusic-browser
|
71
78
|
- bin/monkeymusic-generate
|
72
79
|
- bin/monkeymusic
|
73
80
|
- users/demo_user.yaml
|
74
81
|
- Gemfile.lock
|
75
|
-
- Gemfile
|
76
82
|
- README.md
|
83
|
+
- Gemfile
|
77
84
|
- LICENSE
|
78
85
|
homepage: https://github.com/odsod/monkey-music
|
79
86
|
licenses:
|
@@ -85,17 +92,17 @@ require_paths:
|
|
85
92
|
- lib
|
86
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
87
94
|
requirements:
|
88
|
-
- -
|
95
|
+
- - '>='
|
89
96
|
- !ruby/object:Gem::Version
|
90
97
|
version: '0'
|
91
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
99
|
requirements:
|
93
|
-
- -
|
100
|
+
- - '>='
|
94
101
|
- !ruby/object:Gem::Version
|
95
102
|
version: 1.3.4
|
96
103
|
requirements: []
|
97
104
|
rubyforge_project: monkeymusic
|
98
|
-
rubygems_version: 2.0.
|
105
|
+
rubygems_version: 2.0.2
|
99
106
|
signing_key:
|
100
107
|
specification_version: 4
|
101
108
|
summary: A runtime for an AI programming competition.
|
Binary file
|
Binary file
|