--- loncom/homework/response.pm 2001/07/10 22:06:42 1.30 +++ loncom/homework/response.pm 2001/08/06 20:33:23 1.38 @@ -2,12 +2,14 @@ # various response type definitons response definition # 11/23,11/24,11/28 Gerd Kortemeyer +# Guy Albertelli +# 08/04 Gerd Kortemeyer package Apache::response; use strict; sub BEGIN { - &Apache::lonxml::register('Apache::response',('responseparam','caparesponse','numericalresponse','radiobuttonresponse','optionresponse','imageresponse','essayresponse')); + &Apache::lonxml::register('Apache::response',('responseparam','caparesponse','numericalresponse','stringresponse','radiobuttonresponse','optionresponse','imageresponse','essayresponse')); } sub start_response { @@ -33,8 +35,11 @@ sub setrandomnumber { &Apache::lonxml::debug("randseed $rndseed"); # $rndseed=unpack("%32i",$rndseed); $rndseed=$rndseed - +(&Apache::lonnet::numval($Apache::inputtags::part) << 10) + +(&Apache::lonnet::numval($Apache::inputtags::part) << 10); + if (defined($Apache::inputtags::response['-1'])) { + $rndseed=$rndseed +&Apache::lonnet::numval($Apache::inputtags::response['-1']); + } srand($rndseed); &Apache::lonxml::debug("randseed $rndseed"); return ''; @@ -51,6 +56,13 @@ sub meta_parameter_write { ."\n"; } +sub meta_package_write { + my $name=shift; + return '' + ."\n"; +} + sub meta_stores_write { my ($name,$type,$display)=@_; return '\nsimple caparesponse\n"; + return &Apache::caparesponse::start_caparesponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); +} + +sub start_stringresponse { + require Apache::caparesponse; + import Apache::caparesponse; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + return &Apache::caparesponse::start_stringresponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); } -sub start_caparesponse { +sub start_numericalresponse { require Apache::caparesponse; import Apache::caparesponse; my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; -# print "\n
\nsimple caparesponse\n"; - return &Apache::caparesponse::start_caparesponse($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); + return &Apache::caparesponse::start_numericalresponse + ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style); } sub start_radiobuttonresponse {