--- loncom/homework/caparesponse/caparesponse.pm 2003/04/08 04:00:23 1.91 +++ loncom/homework/caparesponse/caparesponse.pm 2003/04/08 04:17:13 1.92 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # caparesponse definition # -# $Id: caparesponse.pm,v 1.91 2003/04/08 04:00:23 albertel Exp $ +# $Id: caparesponse.pm,v 1.92 2003/04/08 04:17:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -101,19 +101,28 @@ sub end_numericalresponse { my %previous = &Apache::response::check_for_previous($response,$partid,$id); $Apache::lonhomework::results{"resource.$partid.$id.submission"}=$response; &Apache::lonxml::debug("submitted a $response
\n"); - &Apache::lonxml::debug($$parstack[$#$parstack] . "\n
"); + &Apache::lonxml::debug($$parstack[-1] . "\n
"); if ($ENV{'form.submitted'} eq 'scantron') { - &Apache::response::setrandomnumber(); - #FIXME the 8 here is based off of number of powers need a parameter - my $ind=&Math::Random::random_uniform_integer(1,0,8); - if ($ind eq $response) { $ad='CORRECT'; } else { $ad='INCORRECT'; } + my $number_of_bubbles = 8;#default values for number of bubbles + my (@formats)=&Apache::lonxml::get_param_var('format', + $parstack,$safeeval); + my (@answers)=&Apache::lonxml::get_param_var('answer', + $parstack,$safeeval); + my @values=&make_numerical_bubbles($number_of_bubbles,$target, + $answers[0],$formats[0]); + $response=$values[$response]; + } else { + $response =~ s/\\/\\\\/g; + $response =~ s/\'/\\\'/g; } - $response =~ s/\\/\\\\/g; - $response =~ s/\'/\\\'/g; &Apache::lonxml::debug("current $response"); my $expression="&caparesponse_check_list('".$response."','". $$parstack[-1]; + #no way to enter units, with radio buttons + if ($Apache::lonhomework::type eq 'exam') { + $expression.=';my $unit=undef;'; + } foreach my $key (keys(%Apache::inputtags::params)) { $expression.= ';my $'. #' $key.'="'.$Apache::inputtags::params{$key}.'"'; @@ -143,7 +152,6 @@ sub end_numericalresponse { $safeeval); my $unit=&Apache::lonxml::get_param_var('unit',$parstack, $safeeval); - if ($target eq 'web') { $result="
The correct answer is "; } elsif ($target eq 'tex') {