digimon_sleuth 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.codeclimate.yml +7 -0
- data/.editorconfig +11 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +1157 -0
- data/.ruby-version +1 -0
- data/README.md +78 -0
- data/bin/digimon_sleuth +22 -0
- data/dat/digivolve.dat +249 -0
- data/digimon_sleuth.gemspec +18 -0
- data/lib/digimon_sleuth.rb +31 -0
- data/lib/digimon_sleuth/digimon.rb +39 -0
- data/lib/digimon_sleuth/errors.rb +4 -0
- data/lib/digimon_sleuth/path_searcher.rb +89 -0
- metadata +56 -0
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.0
|
data/README.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
[![Code Climate](https://codeclimate.com/github/rolandhawk/digimon_sleuth/badges/gpa.svg)](https://codeclimate.com/github/rolandhawk/digimon_sleuth)
|
2
|
+
|
3
|
+
# digimon_sleuth
|
4
|
+
Digimon Cyber Sleuth simple know how code.
|
5
|
+
|
6
|
+
## Get Started
|
7
|
+
Install RVM
|
8
|
+
|
9
|
+
```
|
10
|
+
curl -L get.rvm.io | bash -s stable
|
11
|
+
source ~/.bash_profile
|
12
|
+
```
|
13
|
+
|
14
|
+
Then run `rvm requirements` and follow the instructions
|
15
|
+
|
16
|
+
Install Ruby 2.3.0
|
17
|
+
|
18
|
+
```
|
19
|
+
rvm install 2.3.0
|
20
|
+
```
|
21
|
+
|
22
|
+
## Start Program
|
23
|
+
```
|
24
|
+
./digimon
|
25
|
+
```
|
26
|
+
|
27
|
+
## Feature
|
28
|
+
### Digivolve path finder
|
29
|
+
|
30
|
+
Command:
|
31
|
+
```
|
32
|
+
PATH Agumon TO Gabumon
|
33
|
+
```
|
34
|
+
Response:
|
35
|
+
```
|
36
|
+
Agumon -> GeoGreymon -> RizeGreymon -> Dorugamon -> Gabumon
|
37
|
+
Agumon -> Meramon -> Panjyamon -> Garurumon -> Gabumon
|
38
|
+
Agumon -> Sukamon -> Etemon -> Numemon -> Gabumon
|
39
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon -> Gabumon
|
40
|
+
```
|
41
|
+
Available options
|
42
|
+
```
|
43
|
+
ALL #display all path
|
44
|
+
EXCEPT #don't involve particular level(s)
|
45
|
+
ONLY #only involve particulas level(s)
|
46
|
+
DEPTH #max evolve needed
|
47
|
+
```
|
48
|
+
Command:
|
49
|
+
```
|
50
|
+
PATH Agumon TO Gabumon -- ALL -- EXCEPT Mega, Training II
|
51
|
+
```
|
52
|
+
Response:
|
53
|
+
```
|
54
|
+
Agumon -> GeoGreymon -> RizeGreymon -> Dorugamon -> Gabumon
|
55
|
+
Agumon -> Meramon -> Panjyamon -> Garurumon -> Gabumon
|
56
|
+
Agumon -> Sukamon -> Etemon -> Numemon -> Gabumon
|
57
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon -> Gabumon
|
58
|
+
Agumon -> GeoGreymon -> RizeGreymon -> ExVeemon -> Veemon -> Veedramon -> Gabumon
|
59
|
+
Agumon -> GeoGreymon -> RizeGreymon -> Dorugamon -> Gabumon -> Veedramon -> Gabumon
|
60
|
+
Agumon -> GeoGreymon -> RizeGreymon -> Dorugamon -> Gabumon -> Frigimon -> Gabumon
|
61
|
+
Agumon -> GeoGreymon -> SkullGreymon -> Ankylomon -> Gomamon -> Frigimon -> Gabumon
|
62
|
+
Agumon -> GeoGreymon -> Guilmon -> Growlmon -> WarGrowlmon -> Veedramon -> Gabumon
|
63
|
+
Agumon -> Greymon -> MetalGreymon -> Growlmon -> WarGrowlmon -> Veedramon -> Gabumon
|
64
|
+
Agumon -> Greymon -> SkullGreymon -> Ankylomon -> Gomamon -> Frigimon -> Gabumon
|
65
|
+
Agumon -> Meramon -> BlueMeramon -> Garurumon(Blk) -> Gabumon(Blk) -> Frigimon -> Gabumon
|
66
|
+
Agumon -> Meramon -> Panjyamon -> Garurumon -> Zudomon -> Frigimon -> Gabumon
|
67
|
+
Agumon -> Meramon -> Panjyamon -> Garurumon -> Gabumon -> Veedramon -> Gabumon
|
68
|
+
Agumon -> Meramon -> Panjyamon -> Garurumon -> Gabumon -> Frigimon -> Gabumon
|
69
|
+
Agumon -> Meramon -> Guilmon -> Growlmon -> WarGrowlmon -> Veedramon -> Gabumon
|
70
|
+
Agumon -> Tyrannomon -> Agumon(Blk) -> Growlmon -> WarGrowlmon -> Veedramon -> Gabumon
|
71
|
+
Agumon -> Tyrannomon -> Guilmon -> Growlmon -> WarGrowlmon -> Veedramon -> Gabumon
|
72
|
+
Agumon -> Sukamon -> Etemon -> Numemon -> Gabumon -> Veedramon -> Gabumon
|
73
|
+
Agumon -> Sukamon -> Etemon -> Numemon -> Gabumon -> Frigimon -> Gabumon
|
74
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon -> Zudomon -> Frigimon -> Gabumon
|
75
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon -> Gabumon -> Veedramon -> Gabumon
|
76
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon -> Gabumon -> Frigimon -> Gabumon
|
77
|
+
Agumon -> Sukamon -> Elecmon -> Garurumon(Blk) -> Gabumon(Blk) -> Frigimon -> Gabumon
|
78
|
+
```
|
data/bin/digimon_sleuth
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
|
4
|
+
require 'digimon_sleuth'
|
5
|
+
|
6
|
+
while (command = gets&.strip).downcase != "exit"
|
7
|
+
begin
|
8
|
+
command, args = command.split(' ', 2)
|
9
|
+
args = args.downcase
|
10
|
+
|
11
|
+
case command.downcase
|
12
|
+
when "path"
|
13
|
+
paths = DigimonSleuth.search_path(args)
|
14
|
+
puts "Found #{paths.count} paths:"
|
15
|
+
puts paths
|
16
|
+
else
|
17
|
+
puts "Unknown command '#{command}'"
|
18
|
+
end
|
19
|
+
rescue DigimonError => e
|
20
|
+
puts e.message
|
21
|
+
end
|
22
|
+
end
|
data/dat/digivolve.dat
ADDED
@@ -0,0 +1,249 @@
|
|
1
|
+
Kuramon -> Tsumemon, Pagumon
|
2
|
+
Pabumon -> Motimon, Yokomon, Tanemon
|
3
|
+
Punimon -> Nyaromon, Tsunomon
|
4
|
+
Botamon -> Koromon, Wanyamon
|
5
|
+
Poyomon -> Bukamon, Tokomon
|
6
|
+
Koromon -> Agumon, Hackmon, Guilmon, ToyAgumon
|
7
|
+
Tanemon -> Lalamon, Palmon, Renamon
|
8
|
+
Tsunomon -> Gabumon, Goblimon, Veemon, Gabumon(Blk)
|
9
|
+
Tsumemon -> Keramon, DemiDevimon, Agumon(Blk)
|
10
|
+
Tokomon -> Falcomon, Hawkmon, Lucemon, Patamon
|
11
|
+
Nyaromon -> Armadillomon, Salamon, Terriermon
|
12
|
+
Pagumon -> Gazimon, Impmon, Lopmon
|
13
|
+
Yokomon -> Elecmon, Wormmon, Biyomon
|
14
|
+
Bukamon -> Betamon, Gomamon, Otamamon, Syakomon
|
15
|
+
Motimon -> Gotsumon, Hagurumon, Tentomon, Solarmon
|
16
|
+
Wanyamon -> Dorumon, Gaomon, Kudamon
|
17
|
+
Agumon -> GeoGreymon, Greymon, Meramon, Tyrannomon, Sukamon
|
18
|
+
Agumon(Blk) -> Growlmon, Cyclonemon, Tankmon, Tyrannomon, Greymon(Blue)
|
19
|
+
Armadillomon -> Ankylomon, Cyclonemon, GoldNumemon, Tankmon, Geremon
|
20
|
+
Impmon -> Bakemon, Ogremon, Socerimon, BlackGatomon, Wizardmon, IceDevimon
|
21
|
+
Elecmon -> Garurumon, Leomon, Nanimon, Sukamon, Garurumon(Blk), Geremon
|
22
|
+
Otamamon -> Gekomon, Numemon, Seadramon, ShellNumemon
|
23
|
+
Gaomon -> Gargomon, GaoGamon, Leomon, Togemon, Ogremon
|
24
|
+
Gazimon -> Dorugamon, GaoGamon, Leomon, Kurisarimon, Nanimon, Garurumon(Blk)
|
25
|
+
Gabumon -> Dorugamon, Garurumon, Numemon, Veedramon, Frigimon
|
26
|
+
Gabumon(Blk) -> Garurumon(Blk), Vegiemon, Reppamon, Frigimon
|
27
|
+
Guilmon -> GeoGreymon, Growlmon, Meramon, Tyrannomon, Greymon(Blue)
|
28
|
+
Kudamon -> Angemon, GoldNumemon, Peckmon, Reppamon
|
29
|
+
Keramon -> Bakemon, Kurisarimon, PlatinumSukamon, Wizardmon
|
30
|
+
Gotsumon -> Ankylomon, Clockmon, Starmon, Tankmon
|
31
|
+
Goblimon -> GaoGamon, Growlmon, Nanimon, Ogremon, Greymon(Blue)
|
32
|
+
Gomamon -> Ankylomon, Ikkakumon, Socerimon, Frigimon
|
33
|
+
Syakomon -> Ikkakumon, ShellNumemon, Gekomon, Seadramon
|
34
|
+
Solarmon -> Clockmon, Geremon, Starmon, Meramon
|
35
|
+
Terriermon -> Gargomon, Ikkakumon, Gatomon, Rapidmon(Armor)
|
36
|
+
Tentomon -> Kabuterimon, Waspmon, Kuwagamon, Stingmon, Sunflowmon
|
37
|
+
ToyAgumon -> Clockmon, Greymon, Guardromon, Sukamon, Starmon
|
38
|
+
Dorumon -> Cyclonemon, Dorugamon, Guardromon, Waspmon
|
39
|
+
Hagurumon -> Clockmon, GoldNumemon, Guardromon, Starmon, PlatinumSukamon
|
40
|
+
Patamon -> Angemon, Birdramon, Reppamon, Gatomon, ExVeemon
|
41
|
+
Hackmon -> Jesmon, Greymon, GeoGreymon, PlatinumSukamon
|
42
|
+
Palmon -> Kuwagamon, Togemon, Vegiemon, Vegiemon, Sunflowmon
|
43
|
+
DemiDevimon -> Bakemon, Devimon, Kyubimon, Kurisarimon, IceDevimon
|
44
|
+
Biyomon -> Kabuterimon, Aquilamon, Birdramon, Kyubimon
|
45
|
+
Falcomon -> Stingmon, ExVeemon, Aquilamon, Peckmon
|
46
|
+
Veemon -> Flamedramon, Magnamon, Veedramon, ExVeemon
|
47
|
+
Salamon -> Frigimon, Reppamon, Gatomon, Veedramon, Socerimon
|
48
|
+
Betamon -> Gekomon, Numemon, Seadramon, ShellNumemon, Vegiemon
|
49
|
+
Hawkmon -> Meramon, Aquilamon, Birdramon, Peckmon
|
50
|
+
Lalamon -> Sunflowmon, Togemon, Vegiemon, Woodmon
|
51
|
+
Lucemon -> Angemon, Devimon, Lucemon FM
|
52
|
+
Renamon -> BlackGatomon, Garurumon, Kyubimon, Woodmon
|
53
|
+
Lopmon -> Gargomon, Devimon, BlackGatomon, Wizardmon
|
54
|
+
Wormmon -> Waspmon, Kabuterimon, Kuwagamon, Stingmon, IceDevimon
|
55
|
+
IceDevimon -> Myotismon, Cherrymon, LadyDevimon
|
56
|
+
Aquilamon -> AeroVeedramon, Garudamon, Silphymon, Crowmon
|
57
|
+
Ankylomon -> MagnaAngemon, Meteormon, Shakkoumon, SkullGreymon
|
58
|
+
Ikkakumon -> MachGaogamon, Whamon, Zudomon
|
59
|
+
Wizardmon -> SkullMeramon, Myotismon, Wisemon
|
60
|
+
Woodmon -> Cherrymon, Pumpkinmon, Taomon
|
61
|
+
ExVeemon -> MagnaAngemon, Paildramon, RizeGreymon
|
62
|
+
Angemon -> Garudamon, MagnaAngemon, Shakkoumon
|
63
|
+
Ogremon -> SkullMeramon, Digitamamon, WereGarurumon
|
64
|
+
Guardromon -> Andromon, GrapLeomon, MetalMamemon, Datamon
|
65
|
+
GaoGamon -> GrapLeomon, MachGaogamon, WereGarurumon
|
66
|
+
Kabuterimon -> MegaKabuterimon, Cherrymon, Lilamon
|
67
|
+
ShellNumemon -> BlackKingNumemon, MegaSeadramon, ShogunGekomon
|
68
|
+
Gargomon -> WarGrowlmon, Antylamon, Rapidmon
|
69
|
+
Garurumon -> DoruGreymon, Panjyamon, WereGarurumon, Zudomon
|
70
|
+
Garurumon(Blk) -> WereGarurumon(Blk), BlueMeramon, MachGaogamon
|
71
|
+
Kyubimon -> LadyDevimon, Monzaemon, Taomon
|
72
|
+
Growlmon -> Gigadramon, WarGrowlmon, MetalGreymon, MetalTyrannomon
|
73
|
+
Kurisarimon -> Cyberdramon, Infermon, Taomon
|
74
|
+
Greymon -> MetalGreymon, MetalGreymon(Blue), Megadramon, SkullGreymon
|
75
|
+
Greymon(Blue) -> MetalGreymon(Blue), Knightmon, DoruGreymon
|
76
|
+
Clockmon -> Andromon, Knightmon, Datamon, Wisemon
|
77
|
+
Kuwagamon -> Cherrymon, Okuwamon, CannonBeemon
|
78
|
+
Gekomon -> MegaSeadramon, ShogunGekomon, Whamon
|
79
|
+
Geremon -> Etemon, SuperStarmon, MetalMamemon
|
80
|
+
GoldNumemon -> Vademon, PlatinumNumemon, BlackKingNumemon
|
81
|
+
Cyclonemon -> Megadramon, DoruGreymon, Datamon
|
82
|
+
Sunflowmon -> Angewomon, Lilamon, Lillymon
|
83
|
+
Seadramon -> ShogunGekomon, MegaSeadramon, Whamon
|
84
|
+
GeoGreymon -> Gigadramon, RizeGreymon, SkullGreymon
|
85
|
+
Sukamon -> SuperStarmon, Etemon, Vademon
|
86
|
+
Starmon -> Mamemon, MetalMamemon, SuperStarmon
|
87
|
+
Stingmon -> Infermon, Paildramon, Okuwamon
|
88
|
+
Socerimon -> Antylamon, Piximon, Wisemon
|
89
|
+
Tankmon -> Andromon, Gigadramon, CannonBeemon, Knightmon
|
90
|
+
Tyrannomon -> Mamemon, Megadramon, MetalGreymon(Blue), MetalTyrannomon
|
91
|
+
Gatomon -> Angewomon, Lillymon, Silphymon
|
92
|
+
Devimon -> BlueMeramon, Infermon, MetalGreymon(Blue), Myotismon
|
93
|
+
Togemon -> MachGaogamon, Lillymon, Pumpkinmon
|
94
|
+
Dorugamon -> RizeGreymon, DoruGreymon, Chirinmon
|
95
|
+
Nanimon -> Digitamamon, SuperStarmon, Meteormon
|
96
|
+
Numemon -> BlackKingNumemon, Etemon, Monzaemon
|
97
|
+
Birdramon -> AeroVeedramon, Garudamon, Chirinmon, Crowmon
|
98
|
+
Bakemon -> BlueMeramon, Pumpkinmon, Myotismon, LadyDevimon
|
99
|
+
Veedramon -> AeroVeedramon, Cyberdramon, MetalTyrannomon, WarGrowlmon
|
100
|
+
PlatinumSukamon -> Etemon, MetalMamemon, Vademon
|
101
|
+
BlackGatomon -> Cyberdramon, Knightmon, LadyDevimon, WereGarurumon(Blk)
|
102
|
+
Vegiemon -> Digitamamon, Lilamon, MegaKabuterimon
|
103
|
+
Peckmon -> Antylamon, Piximon, Crowmon
|
104
|
+
Meramon -> BlueMeramon, SkullMeramon, Mamemon, Panjyamon
|
105
|
+
Frigimon -> Zudomon, Angewomon, Monzaemon
|
106
|
+
Leomon -> GrapLeomon, MetalGreymon, Meteormon, Panjyamon
|
107
|
+
Reppamon -> Rapidmon, Piximon, Chirinmon
|
108
|
+
Waspmon -> CannonBeemon, Rapidmon, MegaKabuterimon, Okuwamon
|
109
|
+
MegaKabuterimon -> GranKuwagamon, Magnadramon, HerculesKabuterimon
|
110
|
+
Antylamon -> Kerpymon(Good), Diaboromon, Dianamon, Kerpymon(Blk)
|
111
|
+
Andromon -> Craniamon, HiAndromon, TigerVespamon
|
112
|
+
Meteormon -> Ebemon, MetalEtemon, Dianamon
|
113
|
+
Infermon -> Beelzemon, Diaboromon, VenomMyotismon
|
114
|
+
Myotismon -> Barbamon, Piedmon, VenomMyotismon
|
115
|
+
AeroVeedramon -> Ravemon, Dynasmon, UlforceVeedramon
|
116
|
+
Etemon -> MetalEtemon, Piedmon, PlatinumNumemon
|
117
|
+
Angewomon -> Magnadramon, Ophanimon, Mastemon, Valkyrimon
|
118
|
+
Okuwamon -> Diaboromon, GranKuwagamon, HerculesKabuterimon
|
119
|
+
Garudamon -> Hououmon, Justimon, Ravemon
|
120
|
+
Gigadramon -> MetalSeadramon, Machinedramon, GroundLocomon, Darkdramon
|
121
|
+
CannonBeemon -> MegaGargomon, GroundLocomon, TigerVespamon
|
122
|
+
GrapLeomon -> BanchoLeomon, Leopardmon, SaberLeomon
|
123
|
+
Cyberdramon -> Justimon, Titamon, ??? -> GC7(Alphamon)
|
124
|
+
Shakkoumon -> Kerpymon(Good), Vikemon, ChaosGallantmon
|
125
|
+
Cherrymon -> GranKuwagamon, Kuzuhamon, Puppetmon
|
126
|
+
Silphymon -> Dynasmon, Hououmon, Sakuyamon, Valkyrimon
|
127
|
+
SuperStarmon -> Justimon, Gankoomon, PlatinumNumemon
|
128
|
+
SkullGreymon -> Creepymon, ShineGreymon, Titamon
|
129
|
+
Zudomon -> MetalGarurumon, MarineAngemon, Vikemon
|
130
|
+
Taomon -> Dianamon, Kuzuhamon, Sakuyamon
|
131
|
+
Chirinmon -> MetalGarurumon, Seraphimon, Kentaurosmon
|
132
|
+
Digitamamon -> Minervamon, Belphemon SM, Titamon
|
133
|
+
SkullMeramon -> Gankoomon, Beelzemon, Boltmon
|
134
|
+
ShogunGekomon -> Plesiomon, Leviamon, Vikemon
|
135
|
+
DoruGreymon -> ???, Examon, Kentaurosmon -> GC7(Alphamon)
|
136
|
+
Knightmon -> Craniamon, Leopardmon, Crusadermon
|
137
|
+
Datamon -> Machinedramon, MetalGarurumon(Blk), GroundLocomon
|
138
|
+
Paildramon -> Imperialdramon DM
|
139
|
+
Panjyamon -> BanchoLeomon, SaberLeomon, MirageGaogamon
|
140
|
+
Pumpkinmon -> Boltmon, Puppetmon, Rosemon
|
141
|
+
Piximon -> Hououmon, MarineAngemon, Ophanimon
|
142
|
+
BlackKingNumemon -> PlatinumNumemon, MetalEtemon, PrinceMamemon
|
143
|
+
BlueMeramon -> Barbamon, Boltmon, Creepymon, Darkdramon
|
144
|
+
Vademon -> Ebemon, HerculesKabuterimon, HiAndromon
|
145
|
+
Whamon -> Plesiomon, MarineAngemon, MetalSeadramon
|
146
|
+
MagnaAngemon -> ShineGreymon, Crusadermon, Seraphimon, Valkyrimon
|
147
|
+
MachGaogamon -> BanchoLeomon, MirageGaogamon, MegaGargomon
|
148
|
+
Mamemon -> Puppetmon, PrinceMamemon, WarGreymon
|
149
|
+
MegaSeadramon -> Leviamon, MetalSeadramon, Plesiomon
|
150
|
+
Megadramon -> BlackWarGreymon, Machinedramon, UlforceVeedramon
|
151
|
+
WarGrowlmon -> ???, ChaosGallantmon, RustTyranomon, Darkdramon -> GC7(Gallantmon)
|
152
|
+
MetalGreymon -> RustTyranomon, Gaiomon, WarGreymon
|
153
|
+
MetalGreymon(Blue) -> BlackWarGreymon, Gaiomon, WarGreymon, Kerpymon(Blk)
|
154
|
+
MetalTyrannomon -> BlackWarGreymon, ???, RustTyranomon -> GC7(Gallantmon)
|
155
|
+
MetalMamemon -> Ebemon, HiAndromon, PrinceMamemon
|
156
|
+
Monzaemon -> Minervamon, Sakuyamon, SaberLeomon
|
157
|
+
Crowmon -> Minervamon, Ravemon, Kuzuhamon
|
158
|
+
RizeGreymon -> Examon, Gaiomon, ShineGreymon
|
159
|
+
Lilamon -> Lilithmon, Lotosmon, Rosemon
|
160
|
+
Rapidmon -> MegaGargomon, TigerVespamon, MetalGarurumon(Blk)
|
161
|
+
Lillymon -> Magnadramon, Lotosmon, Rosemon
|
162
|
+
Lucemon FM -> Lucemon SM
|
163
|
+
LadyDevimon -> Lilithmon, Lotosmon, Mastemon
|
164
|
+
WereGarurumon -> MetalGarurumon, MetalGarurumon(Blk), MirageGaogamon
|
165
|
+
WereGarurumon(Blk) -> MetalGarurumon(Blk), Minervamon, BanchoLeomon
|
166
|
+
Wisemon -> VenomMyotismon, Belphemon SM, Piedmon
|
167
|
+
???
|
168
|
+
UlforceVeedramon
|
169
|
+
Ebemon
|
170
|
+
Imperialdramon DM -> ???, Imperialdramon FM
|
171
|
+
Imperialdramon FM -> ???, Imperialdramon DM
|
172
|
+
Vikemon
|
173
|
+
VenomMyotismon
|
174
|
+
WarGreymon -> Omnimon
|
175
|
+
Examon
|
176
|
+
Ophanimon
|
177
|
+
Gaiomon
|
178
|
+
ChaosGallantmon
|
179
|
+
Gankoomon
|
180
|
+
Kuzuhamon
|
181
|
+
GranKuwagamon
|
182
|
+
GroundLocomon
|
183
|
+
Craniamon
|
184
|
+
Kerpymon(Good)
|
185
|
+
SaberLeomon
|
186
|
+
Sakuyamon
|
187
|
+
Jesmon
|
188
|
+
ShineGreymon -> ShineGreymon BM
|
189
|
+
Justimon
|
190
|
+
Kentaurosmon
|
191
|
+
Seraphimon
|
192
|
+
MegaGargomon
|
193
|
+
TigerVespamon
|
194
|
+
Titamon
|
195
|
+
Dianamon
|
196
|
+
Diaboromon
|
197
|
+
Creepymon
|
198
|
+
???
|
199
|
+
Dynasmon
|
200
|
+
Leopardmon -> Leopardmon LM
|
201
|
+
Leopardmon LM -> Leopardmon
|
202
|
+
HiAndromon
|
203
|
+
Barbamon
|
204
|
+
BanchoLeomon -> Chaosmon
|
205
|
+
Piedmon
|
206
|
+
Puppetmon
|
207
|
+
PlatinumNumemon
|
208
|
+
BlackWarGreymon -> Omnimon Zwart
|
209
|
+
PrinceMamemon
|
210
|
+
Plesiomon
|
211
|
+
HerculesKabuterimon
|
212
|
+
Beelzemon -> Beelzemon BM
|
213
|
+
Belphemon SM -> Belphemon RM
|
214
|
+
Hououmon
|
215
|
+
Magnadramon
|
216
|
+
Boltmon
|
217
|
+
Mastemon
|
218
|
+
MarineAngemon
|
219
|
+
Minervamon
|
220
|
+
MirageGaogamon -> MirageGaogamon BM
|
221
|
+
Machinedramon
|
222
|
+
MetalEtemon
|
223
|
+
MetalGarurumon -> Omnimon
|
224
|
+
MetalGarurumon(Blk) -> Omnimon Zwart
|
225
|
+
MetalSeadramon
|
226
|
+
RustTyranomon
|
227
|
+
Leviamon
|
228
|
+
Lilithmon
|
229
|
+
Ravemon -> Ravemon BM
|
230
|
+
Crusadermon
|
231
|
+
Rosemon -> Rosemon BM
|
232
|
+
Lotosmon
|
233
|
+
???
|
234
|
+
Omnimon
|
235
|
+
Omnimon Zwart
|
236
|
+
Belphemon RM -> Belphemon SM
|
237
|
+
Lucemon SM
|
238
|
+
Flamedramon
|
239
|
+
Magnamon
|
240
|
+
Rapidmon(Armor)
|
241
|
+
Kerpymon(Blk)
|
242
|
+
Beelzemon BM
|
243
|
+
Darkdramon -> Chaosmon
|
244
|
+
Chaosmon
|
245
|
+
Valkyrimon
|
246
|
+
ShineGreymon BM
|
247
|
+
MirageGaogamon BM
|
248
|
+
Ravemon BM
|
249
|
+
Rosemon BM
|
@@ -0,0 +1,18 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.name = 'digimon_sleuth'
|
6
|
+
spec.version = '0.0.2'
|
7
|
+
spec.date = '2016-05-21'
|
8
|
+
spec.summary = "Digimon Cyber Sleuth!"
|
9
|
+
spec.description = "A simple gem"
|
10
|
+
spec.authors = ["Roland Rifandi Utama"]
|
11
|
+
spec.email = 'roland_hawk@yahoo.com'
|
12
|
+
spec.required_ruby_version = ">= 2.3.0"
|
13
|
+
|
14
|
+
spec.files = `git ls-files -z`.split("\x0")
|
15
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'digimon_sleuth/digimon'
|
2
|
+
require 'digimon_sleuth/errors'
|
3
|
+
require 'digimon_sleuth/path_searcher'
|
4
|
+
|
5
|
+
module DigimonSleuth
|
6
|
+
counter = 1
|
7
|
+
file = File.new(File.expand_path('../../dat/digivolve.dat', __FILE__), 'r')
|
8
|
+
divolve = {}
|
9
|
+
while (line = file.gets&.strip)
|
10
|
+
name, digivolve = line.split(" -> ")
|
11
|
+
digivolve = (digivolve || "").split(", ")
|
12
|
+
count = digivolve.count
|
13
|
+
divolve[name] = digivolve
|
14
|
+
digimon = Digimon.new(name)
|
15
|
+
Digimon.register(digimon)
|
16
|
+
counter += 1
|
17
|
+
end
|
18
|
+
file.close
|
19
|
+
|
20
|
+
Digimon.all.each do |digimon|
|
21
|
+
divolve[digimon.name].each do |d|
|
22
|
+
digi = Digimon.find(d.strip)
|
23
|
+
digimon.add_digivolve(digi)
|
24
|
+
digi.add_dedigivolve(digimon)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.search_path(*args)
|
29
|
+
PathSearcher.execute(*args)
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module DigimonSleuth
|
2
|
+
class Digimon
|
3
|
+
attr_reader :name, :digivolve, :dedigivolve
|
4
|
+
|
5
|
+
@digimon = Hash.new
|
6
|
+
|
7
|
+
def self.find(name)
|
8
|
+
digimon = @digimon[name.downcase]
|
9
|
+
raise DigimonNotFoundError, "There is no digimon with name #{name}" unless digimon
|
10
|
+
digimon
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.all
|
14
|
+
return @digimon.values
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.register(digimon)
|
18
|
+
@digimon[digimon.name.downcase] = digimon
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(name)
|
22
|
+
@name = name
|
23
|
+
@digivolve = Array.new
|
24
|
+
@dedigivolve = Array.new
|
25
|
+
end
|
26
|
+
|
27
|
+
def add_digivolve(digimon)
|
28
|
+
@digivolve << digimon
|
29
|
+
end
|
30
|
+
|
31
|
+
def add_dedigivolve(digimon)
|
32
|
+
@dedigivolve << digimon
|
33
|
+
end
|
34
|
+
|
35
|
+
def inspect
|
36
|
+
"#{name}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|