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(); }
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); } }