version 1.71, 2003/05/16 19:25:08
|
version 1.72, 2003/06/20 04:05:13
|
Line 291 sub whichfoils {
|
Line 291 sub whichfoils {
|
} |
} |
} |
} |
#pick a true statement |
#pick a true statement |
|
my $notrue=0; |
|
if (scalar(@truelist) == 0) { $notrue=1; } |
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 (@toplist, @bottomlist); |
my (@toplist, @bottomlist); |
Line 319 sub whichfoils {
|
Line 321 sub whichfoils {
|
&Apache::lonxml::debug("Answer wants $answer"); |
&Apache::lonxml::debug("Answer wants $answer"); |
my $truename=$truelist[$whichtrue]; |
my $truename=$truelist[$whichtrue]; |
my $dosplice=1; |
my $dosplice=1; |
|
if ($notrue) { |
|
$dosplice=0; |
|
&Apache::lonxml::error("There are no true statements available.<br />"); |
|
} |
#insert the true statement, keeping track of where it wants to be |
#insert the true statement, keeping track of where it wants to be |
if ($Apache::response::foilgroup{$truename.'.location'} eq 'top' ) { |
if ($Apache::response::foilgroup{$truename.'.location'} eq 'top' && $dosplice) { |
$toplist[$top{$truename}]=$truename; |
$toplist[$top{$truename}]=$truename; |
$answer=-1; |
$answer=-1; |
foreach my $top (reverse(@toplist)) { |
foreach my $top (reverse(@toplist)) { |
Line 328 sub whichfoils {
|
Line 334 sub whichfoils {
|
if ($top eq $truename) { last; } |
if ($top eq $truename) { last; } |
} |
} |
$dosplice=0; |
$dosplice=0; |
} elsif ($Apache::response::foilgroup{$truename.'.location'} eq 'bottom') { |
} elsif ($Apache::response::foilgroup{$truename.'.location'} eq 'bottom' && $dosplice) { |
$bottomlist[$bottom{$truename}]=$truename; |
$bottomlist[$bottom{$truename}]=$truename; |
$answer=-1; |
$answer=-1; |
foreach my $bot (@bottomlist) { |
foreach my $bot (@bottomlist) { |