Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Poker problem

by YuckFoo (Abbot)
on Dec 02, 2008 at 21:31 UTC ( #727495=note: print w/replies, xml ) Need Help??

in reply to Poker problem

Frame anything as a poker problem and I'll probably bite.


#!/usr/bin/perl use strict; use Storable qw(dclone); use Data::Dumper; my $players = { big_slicks => { list => [qw(AsKs AhKh AdKd AcKc)], }, big_hearts => { list => [qw(AhKh KhQh QhJh JhTh)], }, ace_ragman => { list => [qw(As7c Ah6d Ac8s Ad9h)], }, }; my $my_hand = 'AcAs'; for (1..10) { my $hands = iterate($players, $my_hand); $hands->{my_hand} = $my_hand; print Dumper $hands; } #----------------------------------------------------------- sub iterate { my $players = shift; my $my_hand = shift; $players = dclone($players); for my $card ($my_hand =~ /(.{2})/g) { update($players, $card); } my $player_hands = {}; my @player_keys = keys(%$players); while (@player_keys) { my $player = splice(@player_keys, rand(@player_keys), 1); my $hand_list = $players->{$player}{list}; my $pick = splice(@$hand_list, rand(@$hand_list), 1); for my $card ($pick =~ /(.{2})/g) { update($players, $card); } $player_hands->{$player} = $pick; } return $player_hands; } #----------------------------------------------------------- sub update { my $players = shift; my $card = shift; for my $player (keys(%$players)) { my @new_list = grep { $_ !~ m/$card/ } @{$players->{$player}{list} +}; $players->{$player}{list} = \@new_list; } }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://727495]
[oiskuu]: I'm unfamiliar with android or SELinux. But I believe there is nothing of a kind. Unless you play with capabilities or build your own containers/ namespaces.
[davido]: I am not finding closing STDIN to be an adequate means of making getlogin return undef.
[Corion]: Maybe doing a double-fork (daemonizing) can make go that information away, but maybe not

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2017-06-23 19:30 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (554 votes). Check out past polls.