Mix Game is a basic C project to rearrange the numbers. The numbers predefined from 1-8 and they can be dealt with first and after that the numbers are effortlessly rearranged to create irregular arrangement. It's an extremely pleasant system for somebody who have jsut begun learning programming in C dialect.

/*******************************************************

* MYCPLUS Sample Code - http://www.mycplus.com *

*

* This code is made accessible as a support of our *

* guests and is given entirely to the *

* reason for representation. *

*

* Please guide all request to saqib at mycplus.com *

*******************************************************/

/Name: Usman Shahzada

/Language: C\C++

/Category: Games

/Description: Shuffle Game

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

#include<ctype.h>

#include<dos.h>

#include<graphics.h>

#define genuine 1

#define false 0

void disp();

void printmenu();void introduction();

void levelmenu();void simple();

void initial(int x);

void draw(int x, int y, int i);

void userwin(int no);int check(int key);

int load,i,step,level,num[25],win;

void primary()

{ int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "..\\bgi");

introduction();

levelmenu();

clrscr();

cleardevice();

setbkcolor(RED);

simple();

}

void levelmenu()

{ level=0;

clrscr();

cleardevice();

setbkcolor(BLACK);

settextstyle(1,0,2);

setcolor(GREEN);

outtextxy(240,240,"Press 1 to begin");

outtextxy(240,260,"- - ");

outtextxy(240,280,"1. Begin");

outtextxy(240,300,"2. Rules");

outtextxy(240,330,"Enter a decision: ");

gotoxy(50+4,22);

scanf("%d", &level);

if(level==2)

{

outtextxy(20,40,"Read the standards :");

outtextxy(20,80,"1: Arrange the nos in rising request");

outtextxy(20,120,"2: Press the no key to move the nos");

outtextxy(20,160,"3: X-Exit");

delay(3000);

levelmenu();

}

}

void introduction()

{ int i,j;

clrscr();

cleardevice();

setbkcolor(BLACK);

gotoxy (25,12);

settextstyle(4,0,6);

for(i=0;i<=10;i++)

{

setcolor(i%16);

outtextxy(2,2,"SHUFFLE GAME");

settextstyle(1,0,7);

outtextxy(20,200,"");

delay(100);

outtextxy(180,200,"1");

delay(100);

outtextxy(220,200,"2");

delay(100);

outtextxy(260,200,"3");

delay(100);

outtextxy(180,300,"4");

delay(100);

outtextxy(220,300,"5");

delay(100);

outtextxy(260,300,"6");

delay(100);

outtextxy(180,400,"7");

delay(100);

outtextxy(220,400,"8");

settextstyle(4,0,8);

delay(100);

}

}

void printmenu()

{

int i;

gotoxy (33,1);printf("SHUFFLE GAME");

gotoxy (1,2);

for(i=0; i<80; i++)

printf("\xcd");

printf("\t\t\t\tX=exit game\n");

for(i=0; i<80; i++)

printf("\xcd");

gotoxy (35,23);printf("Moves = %d", step);

}

void simple()

{

int i, x, y,key,valid;

burn press[2];

if(load==false)

initial(9);

else

load=false;

do{

begin:

printmenu();

i=0;

for(y=8; y<17; y+=4)

for(x=33; x<44; x+=5)

{

draw(x,y,i);

i++;

}

userwin(8);

if(win==true)

{ cleardevice();

outtextxy(2,2,"You have won");

delay(2000);

disp();

delay(2000);

win=false;

return;

}

gotoxy (55,17);printf("Tips:");

gotoxy (61,18);printf("Number will move");

gotoxy (61,19);printf("when you key in!");

gotoxy (43,23);fflush(stdin);

press[0]=toupper(getche());

if(press[0]=='X')

{

disp();

exit(1);

}key=atoi(press);

if((valid=check(key))==false)

goto begin;

step++;

if(step==50)

{

cleardevice();

outtextxy(20,200,"YOU HAVE SURPASSED MAXIMUM POSSIBLE MOVES");

delay(1500);

disp();

delay(2500);

exit(1);

}

for(i=0; i<9; i++)

{

if(num[i]==key)

num[i]=0;

else

if(num[i]==0)

num[i]=key;

}

}while(true);

}

void initial(int x)

{ int i,no;

step=0;

no=0%x;

if(no==1)

no+=5;

for(i=0; i<x; i++)

{

num[i]=no;

no+=2;

if(no>=x)

if(!(no%2))

no=1;

else

no=0;

}

}

void draw(int x, int y, int i)

{ gotoxy (x,y);

if(level==1)

{

printf("%c%c%c",201,205,187);

gotoxy (x,y+1);

printf("%c",186);

if(num[i]==0)

printf(" ");

else

printf("%d", num[i]);

printf("%c",186);

gotoxy (x,y+2);

printf("%c%c%c",200,205,188);

}

}

void disp()

{ cleardevice();

setbkcolor(BLACK);

settextstyle(4,0,4);

setcolor(RED);

outtextxy(200,100,"CREDITS:");

settextstyle(2,0,13);

outtextxy(300,220,"USMAN SHAHZADA");

outtextxy(300,260,"BIT-II");

outtextxy(300,300,"CIIT");

delay(2500);

}

int check(int key)

{

int i, valid=false;

if(level==1)

for(i=0; i<9; i++)

{

if(num[i]==key)

{

valid=true;

switch(i)

{

case 0: if(num[1]!=0 && num[3]!=0)valid=false;break;

case 1: if(num[0]!=0 && (num[2]!=0 && num[4]!=0))

valid=false;break;

case 2: if(num[1]!=0 && num[5]!=0)valid=false;break;

case 3: if(num[0]!=0 && (num[4]!=0 && num[6]!=0))

valid=false;break;

case 4: if((num[1]!=0 && num[3]!=0) &&

(num[5]!=0 && num[7]!=0))valid=false;break;

case 5: if(num[2]!=0 && (num[4]!=0 && num[8]!=0))

valid=false;break;

case 6: if(num[3]!=0 && num[7]!=0)valid=false;break;

case 7: if(num[4]!=0 && (num[6]!=0 && num[8]!=0))

valid=false;break;

case 8: if(num[5]!=0 && num[7]!=0)valid=false;break;

default:valid=false;break;

}

}

}

return legitimate;

}

void userwin(int no)

{ int i;

for(i=0; i<no; i++)

if(num[i]!=i+1)

{

win=false;

break;

}

else

win=true;

}
 
Top