コード例 #1
0
ファイル: NEWTHRD.CPP プロジェクト: dhruv7294/DataStructure
void main()
{
clrscr();
   node *p;
   int ctr=0;
   int item,ch,ich;

   createhead();
do
{
  out:
  clrscr();
  printf("\n ----------------");
  printf("\n   Threaded Tree Menu");
  printf("\n ----------------");

  printf("\n 1 for insert:");
  printf("\n 2 for delete:");
  printf("\n 3 for find:");
  printf("\n 4 for Traversal:");
  printf("\n 5 for exit");

  printf("\n\nEnter your choice: ");
  scanf("%d",&ch);
   switch(ch)
   {
      case 1:
		insert(item);
		break;

    case 2:     printf("\n\nEnter Item :: ");
		scanf("%d",&item);

		del(item);
		break;

    case 3:
		  printf("\nEnter Item to be found : ");
		  scanf("%d",&item);

		  find(item);
		  if(Loc==NULL)
			 printf("\nItem not found...!");
		  else
			  printf("\nItem is found in the tree !....");
		 getch();
		 break;
     case 4:
		do
		{
		  clrscr();
		  printf("\n ----------------");
		  printf("\n   Traversal Menu");
		  printf("\n ----------------");
		  printf("\n 1 for PreOrder:");
		  printf("\n 2 for InOrder:");
		  printf("\n 3 for PostOrder:");
		  printf("\n 4 Return To Main Menu:");
		  printf("\n\n Entrer your choice:- ");
		  scanf("%d",&ich);

		  switch(ich)
		  {
			case 1: preorder(head->left_ptr);
				getch();
				break;
			case 2: inorder(head->left_ptr);
				getch();
				break;
			case 3: postorder(head->left_ptr);
				getch();
				break;
			case 4: goto out;
				break;
		  }
		}while(ich!=4);

		break;

     case 5: 	exit(0);
		break;
  }
}while(ch!=5);
getch();
}
コード例 #2
0
ファイル: setup.c プロジェクト: Luccifer/GishSources
void setuplevel(void)
  {
  int count,count2;
  int numofobjectstemp;
  float vec[3];

  for (count=0;count<256;count++)
  for (count2=0;count2<256;count2++)
    level.gridmod[count][count2]=0;

  setuplevellines(1,1,254,254);

  numofparticles=0;
  numofbonds=0;
  numofobjects=0;
  numofropes=0;
  physicstemp.numofbonds=0;
  numofsprites=0;
  numofbosses=0;

  for (count=0;count<level.numofobjects;count++)
    if (level.object[count].type>=20 && level.object[count].type<40)
      {
      if (animation[level.object[count].type-20].loaded==0)
        animation[level.object[count].type-20].loaded=2;
      if (level.object[count].type-20==7)
        if (animation[2].loaded==0)
          animation[2].loaded=2;
      if (level.object[count].type-20==13)
        if (animation[8].loaded==0)
          animation[8].loaded=2;
      if (level.object[count].type-20==12)
        if (animation[11].loaded==0)
          animation[11].loaded=2;
      }
  loadanimations();

  for (count=0;count<level.numofobjects;count++)
    {
    numofobjectstemp=numofobjects;

    if (level.object[count].type==1)
      {
      createtarboy(level.object[count].position);
      object[numofobjects-1].texturenum=1;
      }
    if (level.object[count].type==2)
      createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction);
    if (level.object[count].type==3)
      {
      createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction);
      createparticle(2,level.object[count].position,NULL,10000.0f,-1,10000);
      createbond(numofparticles-5,numofparticles-1,1,-1);
      createbond(numofparticles-4,numofparticles-1,1,-1);
      createbond(numofparticles-3,numofparticles-1,1,-1);
      createbond(numofparticles-2,numofparticles-1,1,-1);
      }
    if (level.object[count].type==4)
      {
      if (level.gametype!=16)
        {
        createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction);
        vec[0]=level.object[count].position[0]-(level.object[count].size[0]-1.0f)*0.5f;
        vec[1]=level.object[count].position[1]-(level.object[count].size[1]-1.0f)*0.5f;
        vec[2]=0.0f;
        createparticle(2,vec,NULL,10000.0f,-1,10000);
        createbond(numofparticles-5,numofparticles-1,1,-1);
        createbond(numofparticles-4,numofparticles-1,1,-1);
        createbond(numofparticles-3,numofparticles-1,1,-1);
        createbond(numofparticles-2,numofparticles-1,1,-1);
        }
      else
        createcar(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction);
      }
    if (level.object[count].type==5)
      {
      createbox(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction);
      vec[0]=level.object[count].position[0]+(level.object[count].size[0]-1.0f)*0.5f;
      vec[1]=level.object[count].position[1]+(level.object[count].size[1]-1.0f)*0.5f;
      vec[2]=0.0f;
      createparticle(2,vec,NULL,10000.0f,-1,10000);
      createbond(numofparticles-5,numofparticles-1,1,-1);
      createbond(numofparticles-4,numofparticles-1,1,-1);
      createbond(numofparticles-3,numofparticles-1,1,-1);
      createbond(numofparticles-2,numofparticles-1,1,-1);
      }
    if (level.object[count].type==6)
      {
      createwheel(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction,0);
      }
    if (level.object[count].type==7)
      {
      createwheel(level.object[count].position,level.object[count].size[0],level.object[count].size[1],level.object[count].mass,level.object[count].friction,1);
      //createparticle(2,level.object[count].position,NULL,10000.0f,-1,10000);
      //for (count2=0;count2<16;count2++)
      //  createbond(numofparticles-17+count2,numofparticles-1,1,-1);
      }
    if (level.object[count].type==8)
      createanchor(level.object[count].position);
    if (level.object[count].type==9)
      createbutton(level.object[count].position,level.object[count].mass);
    if (level.object[count].type==10)
      {
      createbutton(level.object[count].position,level.object[count].mass);
      object[numofobjects-1].idata[1]=1;
      }
    if (level.object[count].type==11)
      createswitch(level.object[count].position,level.object[count].mass,0);
    if (level.object[count].type==12)
      createswitch(level.object[count].position,level.object[count].mass,1);
    if (level.object[count].type==13)
      createswitch(level.object[count].position,level.object[count].mass,2);
    if (level.object[count].type==14)
      createswitch(level.object[count].position,level.object[count].mass,3);
    if (level.object[count].type==15)
      createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]);
    if (level.object[count].type==16)
      {
      createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]);
      object[numofobjects-1].idata[1]=1;
      }
    if (level.object[count].type==18)
      {
      createareaswitch(level.object[count].position,level.object[count].size[0],level.object[count].size[1]);
      object[numofobjects-1].idata[1]=2;
      }
    if (level.object[count].type==17)
      creategenerator(level.object[count].position,level.object[count].mass);

    if (level.object[count].type==20)
      createbeast(0,level.object[count].position,1.0f,1.0f,1.0f,0.2f);
    if (level.object[count].type==21)
      createbeast(1,level.object[count].position,1.0f,1.0f,1.0f,0.2f);
    if (level.object[count].type==22)
      createbeast(2,level.object[count].position,1.0f,1.0f,1.0f,0.2f);
    if (level.object[count].type==23)
      createbeast(3,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==24)
      createbeast(4,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==25)
      createbeast(5,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==26)
      createbeast(6,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==27)
      createbeast(7,level.object[count].position,3.0f,3.0f,20.0f,0.2f);
    if (level.object[count].type==28)
      createbeast(8,level.object[count].position,1.0f,1.0f,1.0f,0.2f);
    if (level.object[count].type==29)
      createbeast(9,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==30)
      createbeast(10,level.object[count].position,1.5f,1.1f,8.0f,0.2f);
    if (level.object[count].type==31)
      createbeast(11,level.object[count].position,1.0f,1.0f,1.0f,0.2f);
    if (level.object[count].type==32)
      createbeast(12,level.object[count].position,2.0f,0.85f,3.0f,0.2f);
    if (level.object[count].type==33)
      createbeast(13,level.object[count].position,3.0f,3.0f,20.0f,0.2f);
    if (level.object[count].type==34)
      createboss(14,level.object[count].position);
    if (level.object[count].type==35)
      createbeast(15,level.object[count].position,2.0f,2.0f,8.0f,0.2f);
    if (level.object[count].type==36)
      createbeast(16,level.object[count].position,1.0f,1.0f,1.0f,0.2f);

    if (numofobjects!=numofobjectstemp)
      {
      if (level.object[count].type>1 && level.object[count].type<20)
        object[numofobjects-1].texturenum=level.object[count].texturenum;
      object[numofobjects-1].link=level.object[count].link;
      object[numofobjects-1].lighttype=level.object[count].lighttype;
      if (level.object[count].lighttype==1 || level.object[count].lighttype==3)
        object[numofobjects-1].lighton=1;
      if (level.object[count].lighttype==2)
        object[numofobjects-1].lighton=0;
  
      object[numofobjects-1].size[0]=level.object[count].size[0];
      object[numofobjects-1].size[1]=level.object[count].size[1];
  
      object[numofobjects-1].lightcolor[0]=level.object[count].lightcolor[0];
      object[numofobjects-1].lightcolor[1]=level.object[count].lightcolor[1];
      object[numofobjects-1].lightcolor[2]=level.object[count].lightcolor[2];
      object[numofobjects-1].lightintensity=level.object[count].lightintensity;
      object[numofobjects-1].lightintensitymax=level.object[count].lightintensity;
      }
    }

  for (count=0;count<level.numofobjects;count++)
    {
    if ((level.object[count].type>=23 && level.object[count].type<=26) || level.object[count].type==29 || level.object[count].type==30)
      {
      vec[0]=level.object[count].position[0];
      vec[1]=level.object[count].position[1]+1.4f;//+1.42f;
      vec[2]=0.0f;
      createhead(vec,2.0f,1.6f,2.0f,0.5f);

      object[count].link=numofobjects-1;

      //createbond(object[numofobjects-1].particle[0],object[count].particle[0],6,count);
      createbond(object[numofobjects-1].particle[2],object[count].particle[0],6,count);
      createbond(object[numofobjects-1].particle[4],object[count].particle[0],6,count);
      createbond(object[numofobjects-1].particle[0],object[count].particle[1],6,count);
      createbond(object[numofobjects-1].particle[2],object[count].particle[1],6,count);
      //createbond(object[numofobjects-1].particle[4],object[count].particle[1],6,count);
      }
    }

  for (count=0;count<level.numofropes;count++)
    {
    createrope(level.rope[count].type,object[level.rope[count].obj1].particle[level.rope[count].obj1part],object[level.rope[count].obj2].particle[level.rope[count].obj2part],level.rope[count].obj1,level.rope[count].obj2,level.rope[count].texturenum);
    }
  }