Hi All,
Bit of a weird one this.
I wanted a CPU load tester and I didn't want to use one of the ones online. It should be fairly easy to write one that can heat up a CPU.
Question is what?
Prime numbers are normally good, but that's been done. So I went with Yahtzees.
2 reasons for this:
1. The maths is pretty cool
2. I've been watching the Numberphile videos on youtube and the subject is raging over there.
Here is the code for my Yahtzee counter:
#!/usr/bin/perl use strict; my $randnum; my $dice1; my $dice2; my $dice3; my $dice4; my $dice5; my $dice6; my $yahtzee; my $checker; my $rollcount; my $checknum; my $result; my $yahtzeeswanted = 10; my $dicesides = 6; my @dice; sub numbergen { my $range = 6; return int(rand($range)) + 1; } sub rollcount { $rollcount++; #print "Rollcount: $rollcount \n"; } sub yahtzee() { $yahtzee++; @dice[$_[0]]++; #print "Number of yahtzees: $yahtzee \n"; } while ($yahtzee < $yahtzeeswanted){ $checker = 0; rollcount; $dice1 = numbergen(); $dice2 = numbergen(); $dice3 = numbergen(); $dice4 = numbergen(); $dice5 = numbergen(); $dice6 = numbergen(); while ($checker <= $dicesides){ $checker++; if ($dice1 == $checker && $dice2 == $checker && $dice3 == $checker && $dice4 == $checker && $dice5 == $checker && $dice6 == $checker){ &yahtzee($checker); } } } print "Sided Dice: $dicesides \n"; print "Rollcount: $rollcount \n"; print "Number of yahtzees: $yahtzee \n"; print "Number of 1's: @dice[1] \nNumber of 2's: @dice[2] \nNumber of 3's: @dice[3] \nNumber of 4's: @dice[4] \nNumber of 5's: @dice[5] \nNumber of 6's: @dice[6]\n"; #print "$dice1 $dice2 $dice3 $dice4 $dice5 $dice6 \n";
If you take a look at the code you will see there are 2 declarations, one is for the number of yahtzees you want to generate, the other is for the number of sides you want your dice to have.
Have a play, and thanks for reading