CrazyEngineers
  • Aditrix
    Aditrix

    MemberAug 2, 2008

    Help in game making

    Please help me in a game in which i have to make a puzzle game of a picture i add and then break it in different pieces and then the user has to arrange them back and make the original picture
    Which tool i should use and plese tell me where to download it
    or give me a good suggestion at least!!
    Please help me in this problem cause its really urgent
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • Ashutosh_shukla

    MemberDec 27, 2008

    Sorry but i joined late so reply comes in late.
    The problem you are talking about is similar to puzzle that comes of nos 1 to 15 and an extra blank is there and you have to arrange it.I am giving you my code it works for that puzzle of nos.
    Your task is to manage images instead of numbers
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include"dos.h"
    int getkey()
    {
    	union REGS i,o;
    	while(!kbhit());
    	i.h.ah=0;
    	int86(22,&i,&o);
    	return(o.h.ah);
    }
    void display();
    int a[4][4]={1,4,15,7,8,10,2,11,14,3,6,13,12,9,5,0},bl=15,flag=1;
    void main()
    {
    	int t,i,j;
    	clrscr();
    	display();
    	while(flag)
    	{
    		t=getkey();
    		if(t==75)
    			if(bl%4 != 0)
    			{
    				for(i=0;i<4;i++)
    				{
    					for(j=0;j<4;j++)
    						if(4*i+j == bl)
    						{
    							a[i][j]=a[i][j-1];
    							bl--;
    							break;
    						}
    					if(j<4)
    						break;
    				}
    				clrscr();
    				display();
    			}
    		if(t==77)
    			if(bl%4 != 3)
    			{
    				for(i=0;i<4;i++)
    				{
    					for(j=0;j<4;j++)
    						if(4*i+j == bl)
    						{
    							a[i][j]=a[i][j+1];
    							bl++;
    							break;
    						}
    					if(j<4)
    						break;
    				}
    				clrscr();
    				display();
    			}
    		if(t==72)
    			if(bl>3)
    			{
    				for(i=0;i<4;i++)
    					for(j=0;j<4;j++)
    						if(4*i+j+4 == bl)
    						{
    							a[i+1][j]=a[i][j];
    							a[i][j]=0;
    							bl=4*i+j;
    							break;
    						}
    				clrscr();
    				display();
    			}
    		if(t==80)
    			if(bl<=11)
    			{
    				for(i=1;i<4;i++)
    				{
    					for(j=0;j<4;j++)
    						if((4*i+j-4) == bl)
    						{
    							a[i-1][j]=a[i][j];
    							a[i][j]=0;
    							bl=4*i+j;
    							break;
    						}
    					if(j<4)
    						break;
    				}
    				clrscr();
    				display();
    			}
    		flag=0;
    		for(i=0;i<4;i++)
    		{
    			for(j=0;j<4;j++)
    				if(a[i][j] != 4*i+j+1)
    				{
    					flag=1;
    					break;
    				}
    			if(j<4)
    				break;
    		}
    	}
    	getch();
    }
    void display()
    {
    	int i,j;
    	for(i=0;i<4;i++)
    	{
    		for(j=0;j<4;j++)
    			if(4*i+j == bl)
    				printf("    ");
    			else
    				printf("%4d",a[i][j]);
    		printf("\n");
    	}
    }
    
    this code is compiled on turbo c
    i made it some 4 months ago
    don't ask how i did it
    i don't remember it now either.
    😎
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register