mirror of
https://github.com/correl/mage.git
synced 2024-11-21 19:18:40 +00:00
Add script that generates list of unimplemented cards for a set
This commit is contained in:
parent
570cfe242b
commit
acd0b2e5ea
2 changed files with 79 additions and 1 deletions
77
Utils/gen-list-unimplemented-cards-for-set.pl
Normal file
77
Utils/gen-list-unimplemented-cards-for-set.pl
Normal file
|
@ -0,0 +1,77 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
#author: North
|
||||
|
||||
use strict;
|
||||
|
||||
|
||||
my $dataFile = "mtg-cards-data.txt";
|
||||
my $setsFile = "mtg-sets-data.txt";
|
||||
my $knownSetsFile = "known-sets.txt";
|
||||
|
||||
my %sets;
|
||||
my %knownSets;
|
||||
|
||||
my @setCards;
|
||||
|
||||
# gets the set name
|
||||
my $setName = $ARGV[0];
|
||||
if(!$setName) {
|
||||
print 'Enter a set name: ';
|
||||
$setName = <STDIN>;
|
||||
chomp $setName;
|
||||
}
|
||||
|
||||
|
||||
open (DATA, $dataFile) || die "can't open $dataFile";
|
||||
while(my $line = <DATA>) {
|
||||
my @data = split('\\|', $line);
|
||||
if ($data[1] eq $setName) {
|
||||
push(@setCards, \@data);
|
||||
}
|
||||
}
|
||||
close(DATA);
|
||||
|
||||
open (DATA, $knownSetsFile) || die "can't open $knownSetsFile";
|
||||
while(my $line = <DATA>) {
|
||||
my @data = split('\\|', $line);
|
||||
$knownSets{$data[0]}= $data[1];
|
||||
}
|
||||
close(DATA);
|
||||
|
||||
open (DATA, $setsFile) || die "can't open $setsFile";
|
||||
while(my $line = <DATA>) {
|
||||
my @data = split('\\|', $line);
|
||||
$sets{$data[0]}= $data[1];
|
||||
}
|
||||
close(DATA);
|
||||
|
||||
|
||||
sub cardSort {
|
||||
if (@{$a}[2] < @{$b}[2]) { return -1; }
|
||||
elsif (@{$a}[2] == @{$b}[2]) { return 0;}
|
||||
elsif (@{$a}[2] > @{$b}[2]) { return 1; }
|
||||
}
|
||||
|
||||
sub toCamelCase {
|
||||
my $string = $_[0];
|
||||
$string =~ s/\b([\w']+)\b/ucfirst($1)/ge;
|
||||
$string =~ s/[-,\s\']//g;
|
||||
$string;
|
||||
}
|
||||
|
||||
my $toPrint = '';
|
||||
foreach my $card (sort cardSort @setCards) {
|
||||
my $className = toCamelCase(@{$card}[0]);
|
||||
my $currentFileName = "../Mage.Sets/src/mage/sets/" . $knownSets{$setName} . "/" . $className . ".java";
|
||||
if(! -e $currentFileName) {
|
||||
if ($toPrint) {
|
||||
$toPrint .= "\n";
|
||||
}
|
||||
$toPrint .= "@{$card}[2]|@{$card}[0]";
|
||||
}
|
||||
}
|
||||
open CARD, "> " . lc($sets{$setName}) . ".txt";
|
||||
print CARD $toPrint;
|
||||
close CARD;
|
||||
|
|
@ -6,7 +6,8 @@ update-list-implemented-cards.pl
|
|||
- generates
|
||||
- oldList.txt: list of cards implemented at the time the script is ran
|
||||
- newList.txt: list of cards implemented since the last time the script was ran
|
||||
gen-list-cards-for-set.pl - generates the file for unimplemented cards for a set
|
||||
gen-list-cards-for-set.pl - generates the file for cards for a set
|
||||
gen-list-unimplemented-cards-for-set.pl - generates the file for unimplemented cards for a set
|
||||
|
||||
Files used:
|
||||
- author.txt - one line file that contains the author name you want to appear in the generated java files
|
||||
|
|
Loading…
Reference in a new issue