Aditrix
Aditrix
Branch Unspecified
02 Aug 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
Ashutosh_shukla

Ashutosh_shukla

Branch Unspecified
27 Dec 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.
😎

Share this content on your social channels -

Only logged in users can reply.