- 論壇徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2017-03-24 14:37 編輯
- #!/usr/bin/perl
- use strict;
- use warnings;
- use utf8;
- use List::Util qw 'shuffle';
- sub Builder{
- my @aCards = map {my $suit = $_; map {join ('', $suit, $_)} ('A', 2 .. 10, 'J', 'Q', 'K')}
- qw /黑桃 方塊 梅花 紅心/;
- [@aCards, 'Joker0', 'Joker1'];
- }
- binmode (STDOUT, ':encoding(cp936)');
- my $raCards = Builder ();
- my $n = my $peak = 18;
- while ($n >= $peak){
- my @aPos = shuffle (0 .. $#$raCards);
- @{$raCards}[@aPos] = @{$raCards};
- my @aRand = splice (@{$raCards}, 0, $n);
- print join ("\n", @aRand, '', '');
- $n = @{$raCards} if ($n > ($#$raCards + 1));
- }
復(fù)制代碼
perl abc.pl
----------------------------
黑桃2
方塊6
方塊K
梅花2
紅心9
黑桃4
Joker0
紅心10
紅心K
方塊A
紅心3
方塊2
方塊Q
方塊5
梅花3
梅花6
方塊9
黑桃10
梅花A
方塊7
紅心5
黑桃8
紅心J
黑桃7
黑桃J
黑桃6
紅心2
紅心A
方塊4
黑桃A
方塊J
方塊10
梅花Q
黑桃3
梅花9
紅心8
梅花8
方塊3
梅花10
黑桃K
梅花4
黑桃5
紅心Q
紅心6
方塊8
梅花K
紅心7
梅花5
紅心4
梅花7
黑桃Q
黑桃9
梅花J
Joker1 |
|