version 1.122, 2005/06/29 19:20:10
|
version 1.125, 2005/09/23 16:47:06
|
Line 71 sub start_hintresponse {
|
Line 71 sub start_hintresponse {
|
my ($parstack,$safeeval)=@_; |
my ($parstack,$safeeval)=@_; |
my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval); |
my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval); |
if ($id eq '') { $id = $Apache::lonxml::curdepth; } |
if ($id eq '') { $id = $Apache::lonxml::curdepth; } |
push (@Apache::inputtags::response,$id); |
push (@Apache::inputtags::hint,$id); |
push (@Apache::inputtags::responselist,$id); |
push (@Apache::inputtags::hintlist,$id); |
push (@Apache::inputtags::paramstack,[%Apache::inputtags::params]); |
push (@Apache::inputtags::paramstack,[%Apache::inputtags::params]); |
return $id; |
return $id; |
} |
} |
|
|
sub end_hintresponse { |
sub end_hintresponse { |
pop @Apache::inputtags::response; |
pop @Apache::inputtags::hint; |
if (defined($Apache::inputtags::paramstack[-1])) { |
if (defined($Apache::inputtags::paramstack[-1])) { |
%Apache::inputtags::params= |
%Apache::inputtags::params= |
@{ pop(@Apache::inputtags::paramstack) }; |
@{ pop(@Apache::inputtags::paramstack) }; |
Line 505 sub answer_part {
|
Line 505 sub answer_part {
|
my ($type,$answer) = @_; |
my ($type,$answer) = @_; |
my $result; |
my $result; |
if ($env{'form.answer_output_mode'} eq 'tex') { |
if ($env{'form.answer_output_mode'} eq 'tex') { |
$result = ' \verb|'.$answer.'|\\\\ \hline '; |
my $to_use='|'; |
|
foreach my $value (32..126) { |
|
my $char=pack('c',$value); |
|
if ($answer !~ /\Q$char\E/) { |
|
$to_use=$char; |
|
last; |
|
} |
|
} |
|
$result = '\verb'.$to_use.$answer.$to_use.'\\\\ \hline '; |
} else { |
} else { |
$result = '<td>'.$answer.'</td>'; |
$result = '<td>'.$answer.'</td>'; |
} |
} |
Line 574 sub repetition {
|
Line 582 sub repetition {
|
my $id = $Apache::inputtags::part; |
my $id = $Apache::inputtags::part; |
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
if (!defined($weight) || ($weight eq '')) { $weight=1; } |
if (!defined($weight) || ($weight eq '')) { $weight=1; } |
my $repetition = int $weight/9; |
my $repetition = int($weight/10); |
if ($weight % 9 != 0) {$repetition++;} |
if ($weight % 10 != 0) { $repetition++; } |
return $repetition; |
return $repetition; |
} |
} |
|
|
Line 584 sub scored_response {
|
Line 592 sub scored_response {
|
my $repetition=&repetition(); |
my $repetition=&repetition(); |
my $score=0; |
my $score=0; |
for (my $i=0;$i<$repetition;$i++) { |
for (my $i=0;$i<$repetition;$i++) { |
|
# A is 1, B is 2, etc. (get response return 0-9 and then we add 1) |
my $increase=&Apache::response::getresponse($i+1); |
my $increase=&Apache::response::getresponse($i+1); |
if ($increase ne '') { $score+=$increase+1; } |
if ($increase ne '') { $score+=$increase+1; } |
} |
} |