|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Averichev 2:5000/26.79 18 Dec 2000 15:17:48 To : Sergei Boytsov Subject : Cards mixing --------------------------------------------------------------------------------
Monday December 18 2000 02:51, you wrote to All:
SB> Пусть 1..52 означают карты в колоде. Как покрасивее на перле написать
SB> перемешивание и раздачу всей колоды 4 игрокам?
@randlist=(1..52);
foreach $count(0..51)
{
$rnd=int(rand(@randlist));
$x[$count]=$randlist[$rnd];
splice (@randlist,$rnd,1);
}
В конце процедуры @x содержит перетасованную колоду, осталось только раздать.
Если перл ниже 5.004 - не забыть перед перетасовкой раскрутить генератор с.ч.
Может кто покороче сделает? Самому интересно.
CULater, Seraver. [Team СТАРОПОЙHТЫ]
... Хочется жить не вмеру, а вволю.
--- Две крайности - +0 и -0.
* Origin: Hyperbola Station: "Powered by ТЭЦ-3" (2:5000/26.79)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33953a3e1e32.html, оценка из 5, голосов 10
|