Board logo

标题: [原创代码] 来个Perl版的彩色逐字显示 [打印本页]

作者: sxw    时间: 2013-5-14 16:42     标题: 来个Perl版的彩色逐字显示

这样的特效代码不能创造价值,虽然赏心悦目,却是没用的
转换成exe,放外链了 http://pan.baidu.com/share/link?shareid=571467&uk=3642172007
  1. use Win32::Console;
  2. use Encode;
  3. use Win32::Console::ANSI;
  4. use Term::ANSIColor;
  5. my @color    = qw( red  green  yellow  blue  magenta  cyan  white
  6.                    bright_black  bright_red  bright_green  bright_yellow
  7.    bright_blue   bright_magenta  bright_cyan   bright_white ansi0);
  8. $|=1; #必须开启这个
  9. system("mode con cols=135 lines=25");
  10. my $Out = new Win32::Console(STD_OUTPUT_HANDLE) || die;
  11. my ( $x, $y ) = $Out->Cursor();
  12. $Out->Cursor( $x+125, $y + 5,0,0);
  13. while (<DATA>) {
  14.   s/ / /g;
  15.   chomp;
  16.   $a=decode('gb2312',$_);
  17.   @words=$a=~m/(.)/g;
  18.   
  19.   foreach $word (@words) {  
  20.          $c = $color[int rand @color];
  21. print color 'bold '.$c;
  22.          $Out->Write(encode('gb2312',$word));
  23.          my ( $x, $y ) = $Out->Cursor();
  24.          $Out->Cursor( $x, $y + 1,0,0);
  25.          my ( $x, $y ) = $Out->Cursor();
  26.          $Out->Cursor( $x-2, $y,0,0);
  27.          select(undef,undef,undef,0.045);
  28.          }
  29. my ( $x, $y ) = $Out->Cursor();
  30. $Out->Cursor( $x-2, $y-@words,0,0);
  31. }
  32. <>;
  33. __DATA__
  34.     星月神话
  35. 我的一生最美好的场景
  36.  
  37. 就是遇见你
  38.  
  39. 在人海茫茫中静静凝望着你
  40.  
  41. 陌生又熟悉
  42.  
  43. 尽管呼吸着同一天空的气息
  44.  
  45. 却无法拥抱到你
  46.  
  47. 如果转换了时空身份和姓名
  48.    
  49. 但愿认得你眼睛
  50.  
  51. 千年之后的你会在哪里
  52.  
  53. 身边有怎样风景
  54.  
  55. 我们的故事并不算美丽
  56.  
  57. 却如此难以忘记
  58.  
  59. 尽管呼吸着同一天空的气息
  60.  
  61. 却无法拥抱到你
  62.  
  63. 如果转换了时空身份和姓名
  64.  
  65. 但愿认得你眼睛
  66.  
  67. 千年之后的你会在哪里
  68.  
  69. 身边有怎样风景
  70.  
  71. 我们的故事并不算美丽
  72.  
  73. 却如此难以忘记
  74.  
  75. 如果当初勇敢的在一起
  76.  
  77. 会不会不同结局
  78.  
  79. 你会不会也有千言万语
  80.  
  81. 埋在沉默的梦里
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2