version 1.103, 2005/06/27 21:51:29
|
version 1.105, 2005/12/06 10:03:57
|
Line 291 sub whichfoils {
|
Line 291 sub whichfoils {
|
my ($truecnt,$falsecnt) = &getfoilcounts(); |
my ($truecnt,$falsecnt) = &getfoilcounts(); |
my $count=0; |
my $count=0; |
# we will add in 1 of the true statements |
# we will add in 1 of the true statements |
if (($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; } |
if ( $max>0 && ($falsecnt+1)>$max) { $count=$max } else { $count=$falsecnt+1; $max=$count; } |
my $answer=int(&Math::Random::random_uniform() * ($count)); |
my $answer=int(&Math::Random::random_uniform() * ($count)); |
&Apache::lonxml::debug("Count is $count, $answer is $answer"); |
&Apache::lonxml::debug("Count is $count, $answer is $answer"); |
my @names; |
my @names; |
Line 522 sub displayanswers {
|
Line 522 sub displayanswers {
|
my ($max,$randomize)=@_; |
my ($max,$randomize)=@_; |
my ($answer,@whichopt) = &whichfoils($max,$randomize); |
my ($answer,@whichopt) = &whichfoils($max,$randomize); |
my $result=&Apache::response::answer_header('radiobuttonresponse'); |
my $result=&Apache::response::answer_header('radiobuttonresponse'); |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
my $correct = ('A'..'Z')[$answer]; |
|
$result.=&Apache::response::answer_part('radiobuttonresponse', |
|
$correct); |
|
} |
foreach my $name (@whichopt) { |
foreach my $name (@whichopt) { |
$result.=&Apache::response::answer_part('radiobuttonresponse', |
$result.=&Apache::response::answer_part('radiobuttonresponse', |
$Apache::response::foilgroup{$name.'.value'}) |
$Apache::response::foilgroup{$name.'.value'}); |
} |
} |
$result.=&Apache::response::answer_footer('radiobuttonresponse'); |
$result.=&Apache::response::answer_footer('radiobuttonresponse'); |
return $result; |
return $result; |
} |
} |