version 1.60, 2002/11/07 15:34:14
|
version 1.63, 2003/01/07 22:13:07
|
Line 278 sub whichfoils {
|
Line 278 sub whichfoils {
|
#pick a true statement |
#pick a true statement |
my $whichtrue = int(&Math::Random::random_uniform() * ($#truelist+1)); |
my $whichtrue = int(&Math::Random::random_uniform() * ($#truelist+1)); |
&Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue"); |
&Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue"); |
my $numinserted; |
|
my (@toplist, @bottomlist); |
my (@toplist, @bottomlist); |
my $topcount=0; |
my $topcount=0; |
# assign everyone to either toplist/bottomlist or whichfalse |
# assign everyone to either toplist/bottomlist or whichfalse |
# which false is randomized, toplist bottomlist are in order |
# which false is randomized, toplist bottomlist are in order |
while ((($numinserted) < $max-1) && ($#falselist > -1)) { |
while ((($#whichfalse) < $max-2) && ($#falselist > -1)) { |
&Apache::lonxml::debug("Have $#whichfalse max is $max"); |
&Apache::lonxml::debug("Have $#whichfalse max is $max"); |
my $afalse=int(&Math::Random::random_uniform() * ($#falselist+1)); |
my $afalse=int(&Math::Random::random_uniform() * ($#falselist+1)); |
&Apache::lonxml::debug("From $#falselist elms, picking $afalse"); |
&Apache::lonxml::debug("From $#falselist elms, picking $afalse"); |
Line 345 sub displayfoils {
|
Line 344 sub displayfoils {
|
my $result; |
my $result; |
|
|
my ($answer,@whichfoils)=&whichfoils($max,$randomize); |
my ($answer,@whichfoils)=&whichfoils($max,$randomize); |
if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ || ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER')) { |
my $part=$Apache::inputtags::part; |
|
my $solved=$Apache::lonhomework::history{"resource.$part.solved"}; |
|
my $status=$Apache::inputtags::status[-1]; |
|
if ( ($target ne 'tex') && |
|
(($solved =~ /^correct/) || ($status eq 'SHOW_ANSWER')) ) { |
foreach my $name (@whichfoils) { |
foreach my $name (@whichfoils) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$result.="<br />"; |
$result.="<br />"; |
} else { |
} else { |
$result.='\vskip 0 mm '; |
$result.='\item \vskip -2 mm '; |
} |
} |
if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { |
if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { |
if ($target ne 'tex') { $result.='Correct:<b>'; } else { $result.='Correct: \textbf{';} |
if ($target ne 'tex') { $result.='Correct:<b>'; } else { $result.='Correct: \textbf{';} |