--- loncom/homework/rankresponse.pm 2004/03/15 22:09:52 1.31 +++ loncom/homework/rankresponse.pm 2004/09/03 18:35:52 1.37 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # rank style response # -# $Id: rankresponse.pm,v 1.31 2004/03/15 22:09:52 albertel Exp $ +# $Id: rankresponse.pm,v 1.37 2004/09/03 18:35:52 albertel Exp $ # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). @@ -89,7 +89,7 @@ sub start_foilgroup { my $result; %Apache::response::foilgroup=(); $Apache::rankresponse::conceptgroup=0; - &Apache::response::setrandomnumber(); + &Apache::response::pushrandomnumber(); return $result; } @@ -118,6 +118,7 @@ sub end_foilgroup { } elsif ($target eq 'edit') { $result=&Apache::edit::end_table(); } + &Apache::response::poprandomnumber(); return $result; } @@ -197,7 +198,8 @@ sub grade_response { my ($temp,$right,$wrong,$ignored)=(1,0,0,0); my @correctorder=&get_correct_order($tol,@whichfoils); foreach my $name (@whichfoils) { - my $response = &Apache::response::getresponse($temp); + # get response returns a=>0, when we want a=>1 + my $response = &Apache::response::getresponse($temp)+1; my $value=shift(@correctorder); if ( $response =~ /[^\s]/) { $responsehash{$name}=$response; @@ -298,8 +300,8 @@ sub displayfoils { } } else { if ($Apache::lonhomework::type eq 'exam') { - $result.='\vskip 0 mm '.$text.' \vskip -3 mm '."\n"; - $result.='\vskip -5 mm\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]\parbox{\textwidth - 5 mm}{'.&Apache::optionresponse::bubbles(\@alp,\@whichopt).'}\end{enumerate} \vskip -5 mm \strut '; + $result.='\vskip 0 mm '.$text.' \vskip 0 mm '."\n"; + $result.='\vskip -1 mm\noindent\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]'.&Apache::optionresponse::bubbles(\@alp,\@whichopt,'rankresponse').'\end{enumerate} \vskip -8 mm \strut '; $internal_counter++; } else { $result.=' \vskip 0mm \framebox[5 mm][s]{\tiny\strut} '.$text."\n";