gikoha’s blog

個人的メモがわり

ブラウザ戦国コレクションスクリプト

#!/usr/bin/perl -w

use strict 'refs';
use lib '..';
use utf8;
use Encode;
use MIME::Base64;

binmode STDOUT, ":utf8";
binmode STDIN, ":utf8";

sub tokugi {
	$_=<STDIN>;
	return "弓" if //;
	return "騎馬" if /騎馬/;
	return "槍" if //;
	return "銃" if /火縄銃/;
	return "";
}

$tokugi = "";

LINE: while(<STDIN>) {
	next if /^$/;
	s/^\s+//;
	if(/^【/)
	{
		if(/^【.*/)
		{
# Firefox  武将名重複;削除
			chomp;		# remove crlf
			s/^(.*.*)\s+.*$/$1/;
			printf "%-18.18s\t", $_;
			$n=<STDIN>;		# skip
			$tokugi = &tokugi();
			$n=<STDIN>;		# skip 特技
			next;
		}
		else
		{
# Safari
			chomp;		# remove crlf
			s/^(.*.*)\s+.*$/$1/;
			printf "%-18.18s\t", $_;
			$tokugi=&tokugi();		# skip 特技
			$n=&tokugi();		# skip 特技
			$tokugi = $n if($n ne "");
			$n=&tokugi();		# skip 特技
			$tokugi = $n if($n ne "");
			next;
		}
	}

	if(/^Lv :[0-9]+/)
	{	if(/^Lv :[0-9]+H/)
		{
	# Safari .. split
	# Lv :43HP :100知力 :192指揮兵数 :1160部隊攻撃力 :22257部隊防御力 :17191
			chomp;
			s/.*部隊(.*)部隊(.*)/  $1 $2/;
			print $_ . " ";
			$_=<STDIN>;
	# 現在地 :砦(北190, 東 1)距離 :32.89
			chomp;
			s/.*(.*).*/ $1/;
			print $tokugi . $_ . "\n";
			next;
		}
		else
		{
			$_=<STDIN>;
			$_=<STDIN>; # HP
			$_=<STDIN>;
			$_=<STDIN>; # 知力
			$_=<STDIN>;
			$_=<STDIN>; # 指揮兵数
			$_=<STDIN>;
			$_=<STDIN>;
			s/^\s+//;
			s/部隊//;
			chomp;
			$n=$_;
			$_=<STDIN>;
			$_=<STDIN>;
			s/^\s+//;
			s/部隊//;
			chomp;
			print " " . $n . " " . $_ . " ";
			$_=<STDIN>;
			$_=<STDIN>;
			chomp;
			s/.*(.*).*/ $1/;
			print $tokugi . $_ . "\n";
			next;
		}
	}
	next if(/^決定/);
	next if(/^キャンセル/);
	print $_;
}