¡¡roboScript¤Îrsf¥Õ¥¡¥¤¥ë¤Ï¡¢ROBOZAK¥×¥í¥°¥é¥ß¥ó¥°¡¦¥·¥ß¥å¥ì¡¼¥¿¡Êά¤·¤Æ¥·¥ß¥å¥ì¡¼¥¿¡Ë¤È¸ß´¹À¤¬¤Ê¤¤¤Î¤ÇÆ°¤¤Þ¤»¤ó¡£micono¤µ¤ó¤ÎRZ1Disguise¤òÍøÍѤµ¤»¤Æ¤â¤é¤Ã¤Æ¤¤¤Þ¤¹¡£½é¿´¼Ô¤Ï¡¢¤³¤Î¥½¥Õ¥È¤òÍøÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
¡¡°ì±þ¡¢perl¸À¸ì¤Ç¤â¥·¥ß¥å¥ì¡¼¥¿¤ËÊÑ´¹¤Ç¤¤ë¥½¥Õ¥È¤òºîÀ®¤·¤Æ¤ß¤Þ¤·¤¿¡£·ë¹½¡¢ÌÌÅݤǰ쵤¤ËÊÑ´¹¤Ç¤¤º¡¢Ãæ´Ö¥Õ¥¡¥¤¥ë¤ËÅǤ½Ð¤¹ÊýË¡¤ò¼è¤ê¡¢¤ï¤«¤ê¤ä¤¹¤¯¤·¤Þ¤·¤¿¡£
¡¡¤Ï¤¸¤á¤Æ¡¢roboScript¤È¥·¥ß¥å¥ì¡¼¥¿¤Î¥µ¡¼¥Ü¤ÎÃͤÏȿž¤·¤Æ¤¤¤ë¤È¤³¤í¤¬¤¢¤ë¤È»×¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤ì¤ÏroboScript¤¬¤Á¤ã¤ó¤ÈÆ°ºî¤¹¤ë¤³¤È¤«¤é¥·¥ß¥å¥ì¡¼¥¿¤Î¥µ¡¼¥Ü¤ÎÃͤ¬´Ö°ã¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©¥Ð¥°!?
rz2rs.pl¤ÎÊý¤â¥µ¡¼¥Ü¤ÎÃͤòȿž¤µ¤»¤ëɬÍפ¬¤¢¤ë¤è¤¦¤Ç¤¹¡£ÍøÍѤµ¤ì¤ëÊý¤Ï³Îǧ¤¬É¬ÍפǤ¹¡£¤Ê¤ª¡¢¤Þ¤Àȿž¤¹¤Ù¤¥µ¡¼¥Ü¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Î¤Ç¡¢Æ°ºî¤¬¤ª¤«¤·¤¤»þ¤ÏÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
¤Ç¤â¡¢¤Ê¤ó¤Ç¤³¤ó¤Ê¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£robScript¤È¥·¥ß¥å¥ì¡¼¥¿¤Î¸ß´¹À¤È¤¤¤¦ÅÀ¤Ç¤Ï¤Ü¤í¤Ü¤í¤Ç¤¹¤Í¡£¥×¥í¤¬ºîÀ®¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¤é¡¢¤â¤¦¾¯¤·¥æ¡¼¥¶¤Î»È¤¤¾¡¼ê¤ò¹Í¤¨¤¿ÉʼÁ¤·¤Æ¤Û¤·¤¤¤â¤Î¤Ç¤¹¡£
¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¤³¤³¤«¤éÊÑ´¹¥½¥Õ¥È¡Êrs2rz.pl¡Ë¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú
#
# roboScript¤Îrsf¥Õ¥¡¥¤¥ë¤òRZ-1¤Ø¤Î¥Ç¡¼¥¿ÊÑ´¹
#
{
# ɸ½àÆþÎϤ«¤é£±¹Ôʬ¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ê¡¢ËöÈø¤Î²þ¹Ôʸ»ú¤òºï½ü
print "ÊÑ´¹¤¹¤ë¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£";
$in = ;
chomp $in; # ɸ½àÆþÎϤ«¤é£±¹Ôʬ¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ë
$file_in = $in;
# ÊÑ´¹¤Îrsf¥Õ¥¡¥¤¥ë¡Ê¥Õ¥¡¥¤¥ë̾¤ò»ØÄê¡Ë
$file_tmp = "tmp.rsf"; # Ãæ´Ö¤Îrsf¥Õ¥¡¥¤¥ë̾
$file_out = "rz_".$file_in; # ÊÑ´¹¸å¤Îrsf¥Õ¥¡¥¤¥ë̾
# ÊÑ´¹Á°¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó
unless (open (IN, "$file_in")) {
print "Read open error ($file_in).¥n";
exit (1);
}
# Ãæ´Ö¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó
open (OUT, ">$file_tmp");
# ¹Ô¤Î¥«¥¦¥ó¥È
$count = 0;
# ʸ»úÎó¤ÎÊÑ´¹
while () {
$line = $_;
if ($count == 1){
$line =~ s/[¥000¥000¥003]/¥r/g; # ±£¤·¥³¡¼¥É¤òÊÑ´¹
}
$line =~ s/¥r/¥n/g; # CR¤òLF¤ËÊÑ´¹
if ($line =~ /MOVE/){
$line =~ s/MOVE24/MOVE G24,/g; # MOVE24¤òMOVE G24¤ËÊÑ´¹
}
if ($line =~ /DELAY/){
$line =~ s/DELAY/WAIT/g; # DELAY¤òWAIT¤ËÊÑ´¹
}
if (count < 2){
printf OUT "$line"; # ¹ÔËö¤Ë£Ã£Ò¤òÉÕ¤±¤Ê¤¤
}else{
printf OUT "$line¥n"; # ¹ÔËö¤Ë£Ã£Ò¤Î¤ß¤òÉÕ¤±¤ë
}
$count++
}
# ¥Õ¥¡¥¤¥ë¤Î¥¯¥í¡¼¥º
close(IN);
close(OUT);
# Ãæ´Ö¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó
unless (open (IN1, "$file_tmp")) {
print "Read open error ($file_tmp).¥n";
exit (1);
}
# ÊÑ´¹¸å¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó
open (OUT1, ">$file_out");
# ¹Ô¤Î¥«¥¦¥ó¥È
$count = 0;
while () {
$line1 = $_;
if($count == 0){
$line1 =~ s/¥r¥n//g;
$line1 =~ s/roboScript file/roboScripts file!/g;
}
if($count == 1){
$line1 =~ s/contents !/contents!/g;
}
$line1 =~ s/¥n//g;
if ($line1 =~ /MOVE/){
$line1 =~ s/ //g; # ¥¹¥Ú¡¼¥¹¤Îºï½ü
@move = split(/¥,/,$line1); # MOVE¤Îʬ²ò
for ($i=1;$i<=24;$i++){
if ($move[$i] eq ""){
$move[$i] = 100; # µºÜ¤Ê¤¤²Õ½ê¤ò100¤ËÀßÄê
}
}
# ¥µ¡¼¥Üȿž
$move[2] = 200-$move[2];
$move[3] = 200-$move[3];
$move[5] = 200-$move[5];
$move[7] = 200-$move[7];
$move[8] = 200-$move[8];
$move[9] = 200-$move[9];
$move[18] = 200-$move[18];
$move[19] = 200-$move[19];
$move[22] = 200-$move[22];
# MOVE¤ÎÁÈÂؤ¨
$line1 = "MOVE G24¥,".$move[1].",".$move[2].",".$move[3].",".$move[4].",".$move[5].",".$move[6].",".$move[7].",".$move[8].",".$move[9].",".$move[10].",".$move[11].",".$move[12].",".$move[13].",".$move[14].",".$move[15].",".$move[16].",".$move[17].",".$move[18].",".$move[19].",".$move[20].",".$move[21].",".$move[22].",".$move[23].",".$move[24].",";
}
print "$line1¥n"; # ¹ÔËö¤ËLF¤Î¤ß¤òÉÕ¤±¤Æ²èÌ̽ÐÎÏ
printf OUT1 "$line1¥n"; # ¹ÔËö¤ËLF¤Î¤ß¤òÉÕ¤±¤Æ¥Õ¥¡¥¤¥ë½ÐÎÏ
$count++
}
close(IN1);
close(OUT1);
# ÊÑ´¹¸å¤Î¥Õ¥¡¥¤¥ëɽ¼¨
print "ÊÑ´¹¤·¤¿¥Õ¥¡¥¤¥ë̾¤Ï¡¢ ";
print "$file_out¥n";
# Ãæ´Ö¥Õ¥¡¥¤¥ë¤Îºï½ü
unlink "$file_tmp";
}
¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¤³¤³¤Þ¤ÇÊÑ´¹¥½¥Õ¥È¡Êrs2rz.pl¡Ë¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú¡ú