Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.40 and 1.41

version 1.40, 2002/05/03 19:44:13 version 1.41, 2002/05/03 20:13:14
Line 200  sub whichfoils { Line 200  sub whichfoils {
   
   my @truelist;    my @truelist;
   my @falselist;    my @falselist;
     my @whichfalse =();
   
   my @names;    my @names;
   if ( $Apache::response::foilgroup{'names'} ) {    if ( $Apache::response::foilgroup{'names'} ) {
     @names= @{ $Apache::response::foilgroup{'names'} };      @names= @{ $Apache::response::foilgroup{'names'} };
   }    }
   foreach my $name (@names) {    if (&Apache::response::showallfoils()) {
     #result.="<br /><b>$name</b> is <i> $Apache::response::foilgroup{$name.'.value'} </i>";      @whichfalse=@names;
     if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {    } else {
       push (@truelist,$name);      foreach my $name (@names) {
     } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'false') {        #result.="<br /><b>$name</b> is <i> $Apache::response::foilgroup{$name.'.value'} </i>";
       push (@falselist,$name);        if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {
     } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'unused') {   push (@truelist,$name);
     } else {        } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'false') {
       &Apache::lonxml::error(&HTML::Entites::encode("No valid value assigned ($Apache::response::foilgroup{$name.'.value'}) for foil $name in <foilgroup>"));   push (@falselist,$name);
         } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'unused') {
         } else {
    &Apache::lonxml::error(&HTML::Entites::encode("No valid value assigned ($Apache::response::foilgroup{$name.'.value'}) for foil $name in <foilgroup>"));
         }
     }      }
       my $whichtrue = int(rand($#truelist+1));
       &Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue");
       while ((($#whichfalse+1) < $max-1) && ($#falselist > -1)) {
         &Apache::lonxml::debug("Have $#whichfalse max is $max");
         my $afalse=int(rand($#falselist+1));
         &Apache::lonxml::debug("From $#falselist elms, picking $afalse");
         $afalse=splice(@falselist,$afalse,1);
         &Apache::lonxml::debug("Picked $afalse");
         push (@whichfalse,$afalse);
       }
       splice(@whichfalse,$answer,0,$truelist[$whichtrue]);
       &Apache::lonxml::debug("the true statement is $answer");
   }    }
   my $whichtrue = int(rand($#truelist+1));  
   &Apache::lonxml::debug("Max is $max, From $#truelist elms, picking $whichtrue");  
   my @whichfalse =();  
   while ((($#whichfalse+1) < $max-1) && ($#falselist > -1)) {  
     &Apache::lonxml::debug("Have $#whichfalse max is $max");  
     my $afalse=int(rand($#falselist+1));  
     &Apache::lonxml::debug("From $#falselist elms, picking $afalse");  
     $afalse=splice(@falselist,$afalse,1);  
     &Apache::lonxml::debug("Picked $afalse");  
     push (@whichfalse,$afalse);  
   }  
   splice(@whichfalse,$answer,0,$truelist[$whichtrue]);  
   &Apache::lonxml::debug("the true statement is $answer");  
   return @whichfalse;    return @whichfalse;
 }  }
   
Line 357  sub end_foil { Line 361  sub end_foil {
     if ($value ne 'unused') {      if ($value ne 'unused') {
       my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);        my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval);
       if (!$name) { $name=$Apache::lonxml::curdepth; }        if (!$name) { $name=$Apache::lonxml::curdepth; }
       if ( $Apache::radiobuttonresponse::conceptgroup ) {        if ( $Apache::radiobuttonresponse::conceptgroup
      && !&Apache::response::showallfoils() ) {
  push @{ $Apache::response::conceptgroup{'names'} }, $name;   push @{ $Apache::response::conceptgroup{'names'} }, $name;
  $Apache::response::conceptgroup{"$name.value"} = $value;   $Apache::response::conceptgroup{"$name.value"} = $value;
  $Apache::response::conceptgroup{"$name.text"} = $text;   $Apache::response::conceptgroup{"$name.text"} = $text;

Removed from v.1.40  
changed lines
  Added in v.1.41


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>