public class Bug
{
  private    String bugName;
  private	 int body, head, leg, antennae, eyes, mouth;
  private 	 boolean debug = false;

         // constructor
    public Bug (String name)
    {

        bugName = name; // initialize names
   
		  body = 0;   // initialize parts
		  head = 0;
		  leg = 0;
		  antennae = 0;
		  eyes = 0;
		  mouth = 0;
	 }


   public int addPart (int value) 
   {
	  int returnValue;
	  returnValue = -1 ;   // default value
	  if (debug)
	     System.out.print ("in add part , value is " + value);
	  switch (value)
	  {
		 case 1: //part =  "body"
		         if (body == 0) // no body
					{
					   body = 1;        	// add body
						returnValue = 0;  // success
					}
					else
					  returnValue = 1;  // can't add another body
			      break;

		 case 2: // part = head
		         if (body == 1 && head == 0) // body w.o. head
		         {
					   head = 1;   		// add head to body
						returnValue = 0;  // success
					}
					else 
					   if (body == 0)  		// no body so
						   returnValue = 2;  // can't add head
						else
						   returnValue = 1;  // can't add 2nd head
 	           break;
 	
		 case 3: // part = leg
		         if (body == 1 && leg < 6) //body w.o. 6 legs
	            {
					  leg = leg + 1;    // add leg to body
					  returnValue = 0;  // success
					}
					else
					   if (body == 0)   		// no body so
						   returnValue = 2;  // can't add leg
						else
		      		   if (leg == 6)   		// has 6 legs already so
							   returnValue = 1;  // can't add 7th leg
					break;
		 case 4: // part = antennae 
		           if ( head == 1 && antennae < 2) // head w.o. 2 antennae
		 				{
						  antennae = antennae + 1; // add antennae to head 
						  returnValue = 0;     		// success
						}
						else 
						   if (head == 0)      // no head so
						     returnValue = 3;  // can't add antennae
							else
	 				        if (antennae == 2) // 2 antennae already so
								  returnValue = 1; // can't add 3rd antennae
					break;

		 case 5: // part = eyes
		         if ((head == 1)&& (eyes < 2)) // head w.o. 2 eyes
		 			{   
					   eyes = eyes + 1;  // add an eye to head
			  	      returnValue = 0;  // success
			      }
					else
					   if (head == 0)      // no head so
						  returnValue = 3;  // can't add eyes	
  		            else 
      				   if (eyes == 2)      	// 2 eyes already so
							   returnValue = 1;  // can't add 3rd
					break;
		 case 6 : // part = "mouth"			
		         if (head == 1 && mouth == 0) // head w.o. mouth
					{ 
					  mouth = mouth + 1;  // add mouth to head
					  returnValue = 0;    // success
					}
					else
					  if (head == 0)  	 // no head so
					    returnValue = 3;  // can't add mouth
					  else 
		    		     if (mouth == 1)     // can't add 2nd
						     returnValue = 1;
					break;
		 default:
		     System.out.println (" roll not working ");
  	  } // end switch		   
		 
		return returnValue;
		 
	} // end addPart  	 

	public boolean  isBugComplete ()
	{
	   boolean complete;
		if (body ==1 && 
		    head == 1 && 
			 leg == 6 && 
			 antennae == 2 && 
			 eyes == 2 && 
			 mouth ==1)
    
	     complete = true;
      else
        complete = false;
      
		return complete;
	}  // end isBugComplete
	
	 public String getName ()
	 	 {
	    return bugName;
	 }

    public String getPartName (int roll)
    {   String part;
   	 
		  switch (roll)
        {
		  case 1: part = "body";
		          break;
		  case 2: part = "head";
		          break;
		  case 3: part = "leg";
		          break;
		  case 4: part = "antennae";
		          break;
		  case 5: part = "eyes";
		          break;
		  case 6: part = "mouth";
		          break;
		  default:part = "error";
	  } // end switch statement
	               
	  return part	;
		 
		
     }  // end getPartName


} // end Bug class        