This code demonstrates the exact method used to choose random hexagrams at deoxy.org. It strives to emulate the 3 coin toss as simply as possible. This short Perl program is available as a large shell app for Win32 (bloated to 673k because it includes Perl): iching.exe#!/usr/bin/perl # method for generating random i ching hexagrams at http://deoxy.org/iching # define the lines %lines = ( 6 => '-- x --', # yin changing to yang 7 => '-------', # yang 8 => '-- --', # yin 9 => '---o---', # yang changing to yin ); # define the coin @coin = qw(2 3); # toss 3 coins 6 times for (1..6) { $a = @coin[rand @coin]; $b = @coin[rand @coin]; $c = @coin[rand @coin]; # add the results $line = $a + $b + $c; # put result in a list, bottom line first push @lines, $line; } # reverse the list so top line is first and print each line print "$lines{$_}\n" for reverse @lines;
Ok