|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artur Penttinen 2:5020/400 21 Dec 2000 21:39:11 To : Sergey Averichev Subject : Re: Cards mixing -------------------------------------------------------------------------------- Sergey Averichev <Sergey.Averichev@p79.f26.n5000.z2.fidonet.org> wrote: SA> Hello Sergei! SA> SA> Monday December 18 2000 02:51, you wrote to All: SA> SB>> Пусть 1..52 означают карты в колоде. Как покрасивее на перле написать SB>> перемешивание и раздачу всей колоды 4 игрокам? SA> 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> SA> В конце процедуры @x содержит перетасованную колоду, осталось только SA> раздать. Если перл ниже 5.004 - не забыть перед перетасовкой раскрутить SA> генератор с.ч. Может кто покороче сделает? Самому интересно. perldoc -q shuffle an array randomly ? wbw,artur -- Если приказ не исполняется, следует издать другой. --- ifmail v.2.15dev5 * Origin: Sonera Ltd. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6578f651e03b.html, оценка из 5, голосов 10
|