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