http://www.perlmonks.org?node_id=172228

in reply to Re: Re: Battle script

Oh no! You have inadvertantly tipped the scale of battle to favour the a opponent by the fact of its first attack and the effect which this has on the probability (random seed) for the retalitory attack of b - But what if the battle forces of b launch a preemptory attack?

Consider the following where Quantum::Entanglement has been used such that the victor is truly not known until the battle has been fought!

```#!/usr/bin/perl

use Quantum::Entanglement;

my \$opponent1 = entangle(1, 'a', 1, 'b');
my \$opponent2 = p_op(\$opponent1, 'eq', 'a', sub{'b'}, sub{'a'});

\$a = \$b = 100;

\$opponent1 = "\$opponent1";
\$opponent2 = "\$opponent2";

{
no strict 'refs';
while (\$\$opponent1 > 0 && \$\$opponent2 > 0){
\$\$opponent1 -= rand(\$\$opponent2 / 10);
\$\$opponent2 -= rand(\$\$opponent1 / 10);
print qq(\$\$opponent1 | \$\$opponent2\n)
}
print "And the winner is ... '",
((\$\$opponent1 < 0) ? \$opponent1 : \$opponent2),
"'\n";
}