Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Sergei Boytsov                       2:5005/78.41   18 Dec 2000  18:08:18
 To : Sergey Averichev
 Subject : Cards mixing
 -------------------------------------------------------------------------------- 
 
 
 At 18 Dec 00  14:17:48, Sergey Averichev wrote to Sergei Boytsov:
 
  SA> Hello Sergei!
 
  SA> Monday December 18 2000 02:51, you wrote to All:
 
  SB>>  Пусть 1..52 означают карты в колоде. Как покрасивее на перле написать
  SB>>  перемешивание и раздачу всей колоды 4 игрокам?
 
  SA>   @randlist=(1..52);
  SA>   foreach $count(0..51)
  SA>   {
  SA>     $rnd=int(rand(@randlist));
  SA>     $x[$count]=$randlist[$rnd];
  SA>     splice (@randlist,$rnd,1);
  SA>   }
 
  SA> В конце процедуры @x содержит перетасованную колоду, осталось только 
  SA> раздать.
  SA> Если перл ниже 5.004 - не забыть перед перетасовкой раскрутить генератор 
  SA> с.ч.
 
  SA> Может кто покороче сделает? Самому интересно.
 
 > skipped <
 
 Hу, я, например, так сделал!
 
 >===== Open PIPE  [dmonk@relay2> cat /usr/user/bsn/Perl/cards.pl] =====<
 
 #!/usr/bin/perl
 
 my @mcards=(1..52);
 srand(time);
 for (1..52) {
   my ($a,$b)=(rand(52),rand(52));
   @mcards[$a,$b]=@mcards[$b,$a];
 }
 
 print (join(' ', @mcards[(0..12)]), "\n");
 print (join(' ', @mcards[(13..25)]), "\n");
 print (join(' ', @mcards[(26..38)]), "\n");
 print (join(' ', @mcards[(39..51)]), "\n");
 
 >===== Close PIPE [dmonk@relay2> cat /usr/user/bsn/Perl/cards.pl] =====<
 
 /Queen
 
 --- QDed beta-1.4-990224/FreeBSD
  * Origin: Physiology Chair of SSMU (2:5005/78.41)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Cards mixing   Sergei Boytsov   18 Dec 2000 03:51:43 
 Cards mixing   Sergey Averichev   18 Dec 2000 15:17:48 
 Cards mixing   Maxim Y. Zinyakov   18 Dec 2000 17:42:00 
 Cards mixing   Sergey Averichev   19 Dec 2000 00:17:38 
 Re: Cards mixing   Ruslan Bondarev   18 Dec 2000 23:03:37 
 Re: Cards mixing   Artur Penttinen   21 Dec 2000 21:39:11 
 Cards mixing   Sergei Boytsov   18 Dec 2000 18:08:18 
 Cards mixing   Alexander Kostiuchenko   21 Jun 2001 06:09:06 
 Cards mixing   Marat Gizatullin   30 Dec 2000 18:52:21 
Архивное /ru.perl/33533a3e00b8.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional