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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTRhZGJjNmE3ODJlMTAyNTc0YjJkZTE4YmMyODk0YTI4NWY1NjgzOA==
5
- data.tar.gz: !binary |-
6
- NjRlZWJkZTNmYzk2MDYyMzAxMmEyYjNiNTY5YzA2NTQwYTEyN2YxNg==
7
- !binary "U0hBNTEy":
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
+ }
@@ -89,7 +89,8 @@ module MonkeyMusic
89
89
  def response_to(queries)
90
90
  tracks = []
91
91
  queries.each do |uri|
92
- tracks << @monkey.level.tracks.find {|t| t.uri == uri }
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.3
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-19 00:00:00.000000000 Z
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/util.py
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/monkey.py
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/monkey_music_generate/recommendation_loader.rb
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/score_system.rb
49
- - lib/monkey_music.rb
50
- - lib/monkey_music/level.rb
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/units/base.rb
55
- - lib/monkey_music/units/user.rb
56
- - lib/monkey_music/game.rb
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/player.rb
62
- - lib/monkey_music/level_loader.rb
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.3
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