Jumat

5 Contoh Game Bahasa C Beserta Script Kodenya

5 Contoh Game Sederhana Pada Bahasa C



Halo sobat taugakini balik lagi sama saya eko wardani, kali ini saya akan l sebuah sampel atau contoh sederhana dari sebuah kode pemrograman C

Untuk kalian yang sedang belajar menggunakan bahasa pemrograman c dan sedang bingung bagaimana cara mempraktikannya.


Kalian bisa melihat contoh kode game c atau sebuah kode pemrograman dari bahasa C yang diaplikasikan menjadi sebuah game sederhana.

Nah untuk kode kodenya saya akan memberikan beberapa contohnya

1. Archery Game


Untuk kalian yang suka dengan game memanah kalian bisa mencoba kode berikut ini :

Archery Game di C

ARCHERY GAME

#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>

union REGS i,o;
int f;
struct arccoordstype arcinfo;
int t,flag=0;
int
gm=0,gd=DETECT,*button,*a,*b,c,bc,j,k,jk,h,x3,y3,alh=0,s,scor=0,sp=0,e,m=2
;
main()
{

//initgraph(&gm,&gd,"  ");
front();
closegraph();
//delay(10);
//sta();
 a:
initgraph(&gd,&gm," ");
flag=0;
setbkcolor(0);
s=-60;e=60;

sound(221.38);
for(f=1;f<=20;f++)
 {
 setcolor(BLUE);
 line(280,f+360,360,f+360);
       }
       setcolor(RED);
       settextstyle(SMALL_FONT,HORIZ_DIR,4);
       outtextxy(305,364,"SHOOT");
arrows(0);

setcolor(GREEN+WHITE);
rectangle(5,5,634,474);
rectangle(6,6,633,473);
setcolor(YELLOW);
rectangle(7,7,632,472);
setcolor(GREEN+WHITE);
rectangle(8,8,631,471);
rectangle(9,9,630,470);
rectangle(10,10,629,469);

setcolor(YELLOW);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
outtextxy(530,20,"SCORE");
scor=0;
score(200);
m=6;
equip();
arrow1(0,14);
alh=0;
mousereg();
while(m>1)         /* while start */
{
    //button=0;
    for(j=-70;j<=70;j+=2)           /* start for*/
       {   c=1;
   tar(j,c);
   delay(10);



   getmouseptr(&button,&a,&b);

   if(button==1)
{     x3=a;y3=b;
if((x3>280 && x3<360 )|| (y3>361 && y3<379))
     {
bc=1;
     }
}
       if(bc==1)

{  //sound(277.38);
   // delay(10);
nosound();
   arrow1(0,0);
setcolor(YELLOW);
line(40+sp+36,240,80+sp+36,240);
line(80+sp+36,240,75+sp+36,235);
line(80+sp+36,240,75+sp+36,245);
line(40+sp+36,241,80+sp+36,241);
line(79+sp+36,240,74+sp+36,236);
line(79+sp+36,241,74+sp+36,245);

line(46+sp+36,240,41+sp+36,236);
line(46+sp+36,241,41+sp+36,245);
line(42+sp+36,240,37+sp+36,236);
line(42+sp+36,241,37+sp+36,245);

delay(8);
setcolor(0);
line(40+sp+36,240,80+sp+36,240);
line(80+sp+36,240,75+sp+36,235);
line(80+sp+36,240,75+sp+36,245);
line(40+sp+36,241,80+sp+36,241);
line(79+sp+36,240,74+sp+36,236);
line(79+sp+36,241,74+sp+36,245);
line(46+sp+36,240,41+sp+36,236);
line(46+sp+36,241,41+sp+36,245);
line(42+sp+36,240,37+sp+36,236);
line(42+sp+36,241,37+sp+36,245);
if((42+sp+36)>=116 && (42+sp+36)<=136)
{
equip();
}
sp=sp+3;
}
  if((sp+80+36)>=579)
     {  arrow1(0,14);
score(j);
bc=0; sp=0;
alh++;
button=0;
setcolor(YELLOW);
arrows(alh);
m--;
   }
      // sp=sp+3;
c=0;
tar(j,c);
}       /* for end */



}/* while end */
sleep(1.5);
      closegraph();
      gaover();
      setcolor(GREEN);
      setcolor(1);
      settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4);
      outtextxy(255,117,"SCORE");
     setcolor(14+BLUE);
      settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3);
      for(t=0;t<=360;t++)
      { setcolor(random(15));
      ellipse(300,200,t,t+2,30,22);
       delay(1);
       setcolor(random(15));
      ellipse(300,200,t,t+2,35,25);
      }
      setcolor(GREEN);
      select(scor,-250,133);
      for(t=0;t<=50;t++)
      {
      setcolor(14);
   line(40+t,230,40+t,250);
   line(560+t,230,560+t,250);
   }
   settextstyle(SMALL_FONT,HORIZ_DIR,4);
   setcolor(BLUE);
   outtextxy(45,235,"Continue");
   outtextxy(575,235,"Quit");
   restrictmouseptr(0,80,640,440);
   flag=0;
   while(flag==0)
   {
    showmouseptr();
    getmouseptr(&button,&a,&b);
   if(button==1)
{     x3=a;y3=b;
if((x3>41 && x3<79 )&& (y3>231 && y3<249))
   {
    flag=1;
    //break;
    }
else if((x3>=561 && x3<=599 )&& (y3>=231 && y3<=249))
    {
     flag=2;
    //break;
      }
  }
       }

       if(flag==1)
goto a;
       else
{if(flag==2)
  {initgraph(&gd,&gm,"");
  finalwindow();
  closegraph();
  goto b;}}

    //  next();




    b:   getch();
 }//ending of main function



   /* sub function target starting*/

 arrow1(int sp,int col)
 { setcolor(col);            //sound(277.38);
line(40+sp+36,240,80+sp+36,240);
line(80+sp+36,240,75+sp+36,235);
line(80+sp+36,240,75+sp+36,245);
line(40+sp+36,241,80+sp+36,241);
line(79+sp+36,240,74+sp+36,236);
line(79+sp+36,241,74+sp+36,245);

line(46+sp+36,240,41+sp+36,236);
line(46+sp+36,241,41+sp+36,245);
line(42+sp+36,240,37+sp+36,236);
line(42+sp+36,241,37+sp+36,245);
nosound();

   }

   tar(j,c)
 {
   setcolor(c*4);
   ellipse(579,240+j,0,360,40,90);
   setcolor(c*3);
   ellipse(579,240+j,0,360,33,75);
   setcolor(c*5);
   ellipse(579,240+j,0,360,26,60);
   setcolor(c*9);
   ellipse(579,240+j,0,360,19,45);
   setcolor(c*8);
   ellipse(579,240+j,0,360,12,30);
   setcolor(c*10);
   ellipse(579,240+j,0,360,5,15);
 }
 initmouse()
 {
 i.x.ax=0;
 int86(0x33,&i,&o);
 return(o.x.ax);
 }
 showmouseptr()
 {
 i.x.ax=1;
 int86(0x33,&i,&o);
 }
 restrictmouseptr(int x1,int y1,int x2,int y2)
 {
 i.x.ax=7;
 i.x.cx=x1;
 i.x.dx=x2;
 int86(0x33,&i,&o);
 i.x.ax=8;
 i.x.cx=y1;
 i.x.dx=y2;
 int86(0x33,&i,&o);
 }
 getmouseptr(int *button,int *a,int *b)
 {
 i.x.ax=3;
 int86(0x33,&i,&o);
 *button=o.x.bx;
 *a=o.x.cx;
 *b=o.x.dx;
 }

 mousereg()
 {
 int x1,x2,y1,y2,ce,k;
 initmouse();
 showmouseptr();
 restrictmouseptr(281,361,359,379);
 }


arrows(alh)
{   int z=0,r;
     r=5-alh;
     setcolor(YELLOW);
 settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
 outtextxy(30,20,"ARROWS REMAINING");
 for(f=r,z=0;f>0;f--)
{
 line(40,60+z*10,80,60+z*10);
 line(80,60+z*10,75,55+z*10);
 line(80,60+z*10,75,65+z*10);
 z=z+1;
 }
 for(f=alh,z=0;f>0;f--)
 {
 setcolor(0);
 line(40,60+z*10,80,60+z*10);
 line(80,60+z*10,75,55+z*10);
 line(80,60+z*10,75,65+z*10);
 z=z+1;
 }
 }

 score (int j)
  {
    if( (j>=-90 && j<=-74) || (j>=74 && j<=90))
       scor=scor+10;

    else if((j>=-72 && j<=-60) || (j>=60 && j<=72))
  scor=scor+20;
    else  if((j>=-58 && j<=-42) || (j>=42 && j<=58))
scor=scor+30;
    else  if((j>=-40 && j<=-32) || (j>=32 && j<=40))
       scor=scor+40;
     else  if((j>=-30 && j<=-18) || (j>=18 && j<=30))
scor=scor+50;
     else  if((j>=-16 && j<=0) || (j>=0 && j<=16))
scor=scor+60;
     else if (j == 300)
scor=0;

for(jk=50;jk<=120;jk++)
{setcolor(0);
  line(530,jk,620,jk);
  }
  setcolor(YELLOW);
  settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
select(scor,0,0);
}



 front1()
{
int gm=0,gd=DETECT,i,j,k,jk,gh;
initgraph(&gd,&gm," ");
setcolor(MAGENTA);
rectangle(10,10,639,469);
rectangle(12,12,637,467);
for(i=12;i<=627;i+=12)
{

setcolor(YELLOW);
line(i,12,i,467);
//clearviewport();

for(j=15;j<=464;j+=5)
ellipse(i+6,j,-180,0,6,4);

}
for(i=3;i<=452;i+=5)
{ for(j=15;j<=627;j+=3)
  {setcolor(0);
   ellipse(j,467-i,-180,0,3,4);
   }delay(40);
   setcolor(BLACK);
   for(k=1;k<=5;k++)
   {
   line(12,467-i+k,637,467-i+k); }
 //setcolor(25);
  setcolor(GREEN+MAGENTA+WHITE+BLUE+YELLOW);
rectangle(10,10,639,469);
rectangle(12,12,637,467);

}
setcolor(2);
rectangle(290,370,350,380);
rectangle(292,372,348,378);
gh=292; //gh<=388;

for(j=1;j<=56;j+=1)
   { /* for(i=24;i<=627;i+=12)
{setcolor(i);
   circle(i,23,3);
  delay(1);
} */  jk=20;
      for(i=24;i<=627;i+=12)
{setcolor(random(15));
circle(i,23,3);
sound(440+jk);
delay(10);
nosound();

setcolor(YELLOW);
rectangle(gh,372,gh,378);
//rectangle(282,362,358,388);}
jk+=40;
 if(jk>=880)
 { jk=440;}

}
gh=gh+1;
nosound();
}
sleep(.1);
closegraph();
}


 equip()
 {
    int kl=2;
   int midx, midy,i,j,k,y=90,c;
  // int stangle = 45, endangle = 270;

    c=y/2;

    for(c=50;c<=52;c+=1)
    {      setcolor(kl);
     line(26+c,170,26+c,310);
     }
     for(c=50;c<=54;c+=1)
    {      setcolor(kl);
     line(60+c,222,60+c,255);
     }

     for(c=180;c<=270;c++)
     {
    // arc(80,92,c,c+1,20);
     setcolor(0);
   arc(86,166,c,c+1,10);
   getarccoords(&arcinfo);
   setcolor(kl);
   circle(arcinfo.xend, arcinfo.yend,2);
    }

     for(c=-50;c<=110;c++)
     {
    // arc(80,92,c,c+1,20);
     setcolor(0);
   arc(96,201,c,c+1,28);
   getarccoords(&arcinfo);
   setcolor(kl);
   circle(arcinfo.xend, arcinfo.yend,2);
    }
     for(c=50,i=4;c>=-110;c--)
     {
    // arc(80,92,c,c+1,20);
     setcolor(0);
     line(127,170,127,315);
     line(126,170,126,315);
   arc(96,278,c,c+1,28);
   getarccoords(&arcinfo);
   setcolor(kl);
   i=i+2;
   if(i>14)
   {i=2;}
   circle(arcinfo.xend,arcinfo.yend,2);
    }
       for(c=90;c<=180;c++)
     {
    // arc(80,92,c,c+1,20);
     setcolor(0);
   arc(86,314,c,c+1,10);
   getarccoords(&arcinfo);
   setcolor(kl);
   circle(arcinfo.xend, arcinfo.yend,2);
   //setcolor(2);

    }

    }

sta()
{
 int x,y=200,i,st,kl;
 //initgraph(&gd,&gm,"");
  setcolor(5);

 for(st=190,i=2;st>=-20;st-=9,i+=3)
 {
 setcolor(GREEN);
 arc(320,290,st,st+2,190);
   getarccoords(&arcinfo);
  delay(5);
   x=arcinfo.xend;
   y=arcinfo.yend;
   sound(300-st);
      star(x,y);
      delay(24);
 }
 for(st=190,i=2;st>=-17;st-=9,i+=3)
 {
 setcolor(YELLOW);
 arc(320,285,st,st+2,230);
   getarccoords(&arcinfo);
  delay(5);
   x=arcinfo.xend;
   y=arcinfo.yend;
   sound(320-st);
      star(x,y);
      delay(24);
 }
 nosound();
 settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);

 for(i=140;i>=20;i-=10)
 {

 setcolor(8);
 delay(13);
 ya(i);
 delay(13);
 setcolor(4);
 r(i);
 delay(13);
 setcolor(2);
 e1(i);
 delay(13);
 h1(i);
 delay(13);
 c1(i);
 delay(13);
 r1(i);
 delay(13);
 a1(i);
 delay(13);


 /*line(320,240,325,233);    // /1
 line(325,233,330,240);    // 1
 line(330,240,337,240);    // right hori
 line(320,240,313,240); //left hori
 line(313,240,318,247);  // left horiz to right
 line(337,240,332,247); // right horiz to left /
 line(332,247,334,253); // left / to right
 line(318,247,316,253); // right  to left /
 line(316,253,325,247);
 line(334,253,325,247);*/



// getch();
 }
 }
 ya(int i)
 {
  if(i==120)
  {

  delay(1);
  setcolor(4);
 // delay(800);
outtextxy(300+i,230,"Y");
  }setcolor(14);
  delay(1);
  outtextxy(420,230,"Y");  //440
 }

 r(int i)
 {
  if(i==90)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i,230,"R");
  }setcolor(14);
  delay(1);
  outtextxy(390,230,"R");   // 420
 }
 e1(int i)
 {
  if(i==60)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i,230,"E");
  }setcolor(14);
  delay(1);
  outtextxy(360,230,"E");  //400
 }
 h1(int i)
 {
  if(i==30)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i,230,"H");
  }setcolor(14);
  delay(1);
  outtextxy(330,230,"H"); //380
 }

 c1(int i)
 {
  if(i==60)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i-i,230,"C");
  }setcolor(14);
  delay(1);
  outtextxy(300,230,"C");  //360
 }
 r1(int i)
 {
  if(i==40)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i-70,230,"R");
  }setcolor(14);
  delay(1);
  outtextxy(270,230,"R");     // 340
 }

 a1(int i)
 {
  if(i==20)
  {

  setcolor(2);
  delay(1);
 outtextxy(300+i-80,230,"A");
  }setcolor(14);
  delay(1);
  outtextxy(240,230,"A");   //320
 }
 star(x,y)
 {
 delay(80);
 line(x,y,x+5,y-7);    // /1     x=320, y=240
 line(x+5,y-7,x+10,y);    // 1
 line(x+10,y,x+17,y);    // right hori
 line(x,y,x-7,y); //left hori
 line(x-7,y,x-2,y+7);  // left horiz to right
 line(x+17,y,x+12,y+7); // right horiz to left /
 line(x+12,y+7,x+14,y+13); // left / to right
 line(x-2,y+7,x-4,y+13); // right  to left /
 line(x-4,y+13,x+5,y+7);
 line(x+14,y+13,x+5,y+7);
 }
front()
{
int gm=0,gd=DETECT,i,j,k,jk,gh;
initgraph(&gd,&gm," ");
setcolor(MAGENTA);
rectangle(10,10,639,469);
rectangle(12,12,637,467);
for(i=12;i<=627;i+=12)
{

setcolor(YELLOW);
line(i,12,i,467);
//clearviewport();
for(j=15;j<=464;j+=5)
ellipse(i+6,j,-180,0,6,4);

}
for(i=3;i<=452;i+=5)
{ for(j=15;j<=627;j+=3)
  {setcolor(0);
   ellipse(j,467-i,-180,0,3,4);
   }delay(40);
   setcolor(BLACK);
   for(k=1;k<=5;k++)
   {
   line(12,467-i+k,637,467-i+k); }
 //setcolor(25);
  setcolor(GREEN+MAGENTA+WHITE+BLUE+YELLOW);
rectangle(10,10,639,469);
rectangle(12,12,637,467);

}
setcolor(2);
rectangle(290,370,350,380);
rectangle(292,372,348,378);
gh=292; //gh<=388;

for(j=1;j<=56;j+=1)
   { /* for(i=24;i<=627;i+=12)
{setcolor(i);
   circle(i,23,3);
  delay(1);
} */  jk=20;
      for(i=24;i<=627;i+=12)
{setcolor(random(15));
circle(i,23,3);
sound(200-i);
delay(1);
nosound();

setcolor(YELLOW);
rectangle(gh,372,gh,378);
//rectangle(282,362,358,388);}
jk+=40;
 if(jk>=880)
 { jk=440;}

}
gh=gh+1;
nosound();
}
//printf("sdfs");
sta();
sleep(.1);
//closegraph();
}
gaover()
{
int gm=0,gd=DETECT,i,j;
initgraph(&gd,&gm," ");

for(i=1;i<=51;i+=4)
{
setcolor(i);
sound(400-i);
outtextxy(260,340,"GAME OVER");
if(i==49)
{
setcolor(YELLOW);
outtextxy(260,340,"GAME OVER");
}
nosound();
go(0,60,20,80,random(15),random(15));
delay(3);
go(400,460,420,480,random(15),random(15));
}

//getch();
}

go(int sy1,int ey1,int sy2,int ey2,int k,int h)
{
int i,j;
for(j=sy1;j<=ey1;j+=40)        //120
{

for(i=0;i<=640;i+=40)
{

setcolor(k);
rectangle(i,1+j,20+i,21+j);
setfillstyle(SOLID_FILL,k);
floodfill(10+i,10+j,k);
setcolor(h);
rectangle(20+i,1+j,40+i,21+j);
setfillstyle(SOLID_FILL,h);
floodfill(25+i,10+j,h);
}
}
for(j=sy2;j<=ey2;j+=40)
{

for(i=0;i<=640;i+=40)
{

setcolor(h);
rectangle(i,1+j,20+i,21+j);
setfillstyle(SOLID_FILL,h);
floodfill(10+i,10+j,h);
setcolor(k);
rectangle(20+i,1+j,40+i,21+j);
setfillstyle(SOLID_FILL,k);
floodfill(25+i,10+j,k);
}
}
//
}

select(int scor,int p,int q)
{
switch(scor)
     { case 0: outtextxy(530+p,50+q,"0");
       break;
       case 10: outtextxy(530+p,50+q,"10");
       break;
       case 20: outtextxy(530+p,50+q,"20");
       break;
       case 30: outtextxy(530+p,50+q,"30");
       break;
       case 40: outtextxy(530+p,50+q,"40");
       break;
      case 50: outtextxy(530+p,50+q,"50");
       break;
      case 60: outtextxy(530+p,50+q,"60");
       break;
      case 70: outtextxy(530+p,50+q,"70");
       break;
      case 80: outtextxy(530+p,50+q,"80");
       break;
      case 90: outtextxy(530+p,50+q,"90");
       break;
      case 100: outtextxy(530+p,50+q,"100");
       break;
      case 110: outtextxy(530+p,50+q,"110");
       break;
      case 120: outtextxy(530+p,50+q,"120");
       break;
      case 130: outtextxy(530+p,50+q,"130");
       break;
      case 140: outtextxy(530+p,50+q,"140");
       break;
      case 150: outtextxy(530+p,50+q,"150");
       break;
      case 160: outtextxy(530+p,50+q,"160");
       break;
      case 170: outtextxy(530+p,50+q,"170");
       break;
      case 180: outtextxy(530+p,50+q,"180");
       break;
      case 190: outtextxy(530+p,50+q,"190");
       break;
      case 200: outtextxy(530+p,50+q,"200");
       break;
      case 210: outtextxy(530+p,50+q,"210");
       break;
      case 220: outtextxy(530+p,50+q,"220");
       break;
      case 230: outtextxy(530+p,50+q,"230");
       break;
      case 240: outtextxy(530+p,50+q,"240");
       break;
      case 250: outtextxy(530+p,50+q,"250");
       break;
      case 260: outtextxy(530+p,50+q,"260");
       break;
      case 270: outtextxy(530+p,50+q,"270");
       break;
      case 280: outtextxy(530+p,50+q,"280");
       break;
      case 290: outtextxy(530+p,50+q,"290");
       break;
      case 300: outtextxy(530+p,50+q,"300");
       break;
      case 310: outtextxy(530+p,50+q,"310");
       break;
      case 320: outtextxy(530+p,50+q,"320");
       break;
      case 330: outtextxy(530+p,50+q,"330");
       break;
      case 340: outtextxy(530+p,50+q,"340");
       break;
      case 350: outtextxy(530+p,50+q,"350");
       break;
      case 360: outtextxy(530+p,50+q,"360");
       break;
 } }

flower(int i,int j)
{
setcolor(14);
circle(320+i,240+j,10);
setfillstyle(SOLID_FILL,RED);
floodfill(323+i,241+j,14);
//1
setcolor(14);
//floodfill(316,223,13);
ellipse(310+i,220+j,90,-90,6,12);
ellipse(330+i,220+j,-90,90,6,12);
ellipse(320+i,207+j,180,0,8,2);
//2
ellipse(310+i,260+j,90,-90,6,12);
ellipse(330+i,260+j,-90,90,6,12);
ellipse(320+i,273+j,0,180,8,2);
//3
ellipse(298+i,248+j,180,0,12,6);
ellipse(298+i,233+j,0,180,12,6);
ellipse(286+i,240+j,-90,90,2,8);
//4
ellipse(342+i,247+j,180,0,12,6);
ellipse(342+i,233+j,0,180,12,6);
ellipse(354+i,240+j,90,-90,2,8);
}

finalwindow()
{
for(k=-285;k<=320;k+=70)
{ flower(k,-205);
  flower(k,+180);
  //clearviewport();
  delay(100);
}
for(k=-140;k<=180;k+=40)
{ flower(-285,k);
  flower(276,k);
  //clearviewport();
  delay(100);
  }

setcolor(2);
sleep(4);

}



Kalian pasti sudah tahu dengan game ini, walaupun game ini sangat simpel tapi pada zamannya game ini sangat booming dan trending. Tertarik untuk mencoba membuatnya?? Kalian bisa mengikuti atau mencontoh kodenya seperti yang ada di bawah sini :

Snake Game di C


Snake Game in C

#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>

check();
end();
win();
int m[500],n[500],con=20;
clock_t start,stop;
void main(void)
{

int gd=DETECT,gm,ch,maxx,maxy,x=13,y=14,p,q,spd=100;

initgraph(&gd,&gm,"..\bgi");

setcolor(WHITE);
settextstyle(3,0,6);
outtextxy(200,2," SNAKE 2 ");
settextstyle(6,0,2);
outtextxy(20,80," Use Arrow Keys To Direct The Snake ");
outtextxy(20,140," Avoid The Head Of Snake Not To Hit Any Part Of Snake
");
outtextxy(20,160," Pick The Beats Untill You Win The Game ");
outtextxy(20,200," Press 'Esc' Anytime To Exit ");
outtextxy(20,220," Press Any Key To Continue ");
ch=getch();
if(ch==27) exit(0);
cleardevice();
maxx=getmaxx();
maxy=getmaxy();

randomize();

p=random(maxx);
int temp=p%13;
p=p-temp;
q=random(maxy);
temp=q%14;
q=q-temp;



 start=clock();
int a=0,i=0,j,t;
while(1)
{

 setcolor(WHITE);
 setfillstyle(SOLID_FILL,con+5);
 circle(p,q,5);
 floodfill(p,q,WHITE);

   if( kbhit() )
   {
     ch=getch(); if(ch==0) ch=getch();
     if(ch==72&& a!=2) a=1;
     if(ch==80&& a!=1) a=2;
     if(ch==75&& a!=4) a=3;
     if(ch==77&& a!=3) a=4;
      }
       else
     {
     if(ch==27
     ) break;
     }

       if(i<20){
     m[i]=x;
     n[i]=y;
     i++;
       }

if(i>=20)

{
  for(j=con;j>=0;j--){
  m[1+j]=m[j];
  n[1+j]=n[j];
  }
   m[0]=x;
   n[0]=y;

   setcolor(WHITE);
   setfillstyle(SOLID_FILL,con);
   circle(m[0],n[0],8);
   floodfill(m[0],n[0],WHITE);

   setcolor(WHITE);
   for(j=1;j<con;j++){
  setfillstyle(SOLID_FILL,con+j%3);
   circle(m[j],n[j],5);
   floodfill(m[j],n[j],WHITE);
      }
       delay(spd);

  setcolor(BLACK);
  setfillstyle(SOLID_FILL,BLACK);
   circle(m[0],n[0],8);
   floodfill(m[0],n[0],BLACK);

   setcolor(BLACK);
  setfillstyle(SOLID_FILL,BLACK);
   circle(m[j],n[j],5);
   floodfill(m[j],n[j],BLACK);

   }
     stop=clock();
     t=(stop-start)/CLK_TCK;
     printf(" TIME %d sec   ",t);
     printf("SCORE %d
",con-5);
     check();

    if(x==p&&y==q) { con=con+5; if(spd>=5) spd=spd-5; else spd=5;
      if(con>490) win();
     p=random(maxx); temp=p%13;  p=p-temp;
     q=random(maxy); temp=q%14;   q=q-temp;
    }
    if(a==1)  y =  y-14; if(y<0) { temp=maxy%14;y=maxy-temp;}
    if(a==2)  y =  y+14; if(y>maxy) y=0;
    if(a==3)  x =  x-13; if(x<0) { temp=maxx%13;x=maxx-temp;}
    if(a==4)  x =  x+13; if(x>maxx) x=0;
    if(a==0){  y = y+14 ;  x=x+13; }
}

 }


check(){
   int a;
   for(a=1;a<con;a++)

if(m[0]==m[a] && n[0]==n[a]) end();
   else continue;

   }
end()

{

    int j,i;
   setcolor(WHITE);
   for(i=0;i<5;i++){
   delay(500);
    cleardevice();
    delay(500);
   for(j=0;j<=con;j++){
   setfillstyle(SOLID_FILL,RED);
   circle(m[j],n[j],5);
   floodfill(m[j],n[j],WHITE);
  }

}

    settextstyle(3,0,4);
    outtextxy(150,150,"    GAME OVER ");
    getch();
    getch();
    exit(0);
    }

win()
{
int j,i;
setcolor(WHITE);
   for(i=0;i<5;i++){
   for(j=0;j<=con;j++){
   setfillstyle(SOLID_FILL,con);
   circle(m[j],n[j],5);
   floodfill(m[j],n[j],WHITE);
  }
    delay(500);
    cleardevice();
    delay(500);
}
  settextstyle(3,0,4);
  outtextxy(210,320," YOU WIN ");
  getch();
  exit(0);
}




Tetris game adalah game jadul yang tujuannya menyusun balok balok yang memiliki bentuk berbeda seperti bentuk L, T , I dan bentuk lainnya.
Kalian bisa mencoba membuat game menyusun ini dengan melihat contoh berikut ini.

Tetris game di C
Tetris Game in C

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>

void swap(int a,int b);void bar1();void bar2();
void bar3();  void bar4();  check0(); check1();
check2(); void del(); void rod1(); void rod2();
void box1();void box2();void tee1();voidtee2();
void tee3();void tee4();check3();void insert();
void again();void print();void remove();void frame();
int score=0,spd,q,t,a=0,i,j,l[6]={300,90,315,105,301,91},p,turn,m,n;
char play='y';
static int arr[26][13];
void main(void)
{

   char ch,y;
   int gd= DETECT,gm,area,maxx,maxy,move,lmove,rmove;
   void *buff;
   initgraph(&gd,&gm,"d:\tc\bgi");
do{

   turn=1;
    score=0;
   do{
   clrscr();
   cleardevice();
   printf("
 Enter Your Choice

");
   printf(" Basic Level.......... 1
");
   printf(" Middle Level......... 2
");
   printf(" Advanced Level....... 3
");
   printf(" Experts Level........ 4
");
   printf(" Professional Level... 5
");
   y=getch();
   clrscr();
   cleardevice();
   if(y=='1') {spd=200; settextstyle(2,0,6);outtextxy(2,150,"   Basic
Level ");break;}
   if(y=='2') {spd=150; settextstyle(2,0,6);outtextxy(2,150,"   Middle
Level ");break;}
   if(y=='3') {spd=100; settextstyle(2,0,6);outtextxy(2,150,"  Advanced
Level ");break;}
   if(y=='4') {spd=75; settextstyle(2,0,6);outtextxy(2,150,"  Experts
Level ");break;}
   if(y=='5') {spd=50;  settextstyle(2,0,6);outtextxy(2,150,"Professional
Level ");break;}
      }while(1);

   frame();
   getch();
int k,ar[2],pr[2],t[6];

randomize();
ar[0]=random(2);
pr[0]=random(6);
ar[1]=random(2);
pr[1]=random(6);
while(1)
{
printf(" score= %d
",score);
a=ar[0];
p=pr[0];
l[0]=450;l[1]=250;l[2]=465;l[3]=265;l[4]=451;l[5]=251;

if(y=='1') spd=100;
if(y=='2') spd=75;
if(y=='3') spd=50;
if(y=='4') spd=30;
if(y=='5') spd=20;
print();

delay(500);
a=ar[1];
p=pr[1];

t[0]=l[0];  t[1]=l[1]; t[2]=l[2];
t[3]=l[3];  t[4]=l[4]; t[5]=l[5];

a=ar[1];
p=pr[1];

l[0]=270;l[1]=90;l[2]=285;l[3]=105;l[4]=271;l[5]=91;

do{
    k=0;
if(kbhit()){ ch=getch();
      if(ch==0) ch=getch();
    if(ch==77) {move=check1(); if(move==0) {l[0]+=15;l[2]+=15;l[4]+=15;
k=1;}}
    if(ch==75) {move=check2(); if(move==0) {l[0]-=15;l[2]-=15;l[4]-=15;
k=1;}}
    if(ch==80) spd=10;
    if(ch==27) exit(0);

    if(ch==32){
        k=1;
        if(p==4||p==5)  switch(p)
          {
  case 4:  if(a==0) a++; else p++; break;
  case 5:  if(a==1) a--; else p--;
          }
        if(p==1||p==2) switch(p)
         {  case 1:  if(a==0) a++; else p++;
l[0]=270;l[2]=285;l[4]=271;break;
  case 2:  if(a==1) a--; else p--; l[0]=270;l[2]=285;l[4]=271;
}

        if(p==3)  { if(a==0) a++; else a=0;
 l[0]=270;l[2]=285;l[4]=271; }

     }
    if(a==1)    {swap(l[0],l[1]);swap(l[2],l[3]);swap(l[4],l[5]);}
  }



move=check0();
if(move==1) break;

print();

if(k==1) delay(0); else delay(spd);

remove();

if(k==0) {l[1]+=15; l[3]+=15; l[5]+=15;}


}while(1);
print();
fflush(stdin);


insert();

check3();

a=ar[0];
p=pr[0];


l[0]=t[0];l[1]=t[1];l[2]=t[2];l[3]=t[3];
l[4]=t[4];l[5]=t[5];


remove();


ar[1]=ar[0];
pr[1]=pr[0];


ar[0]=random(2);
pr[0]=random(6);

if(pr[0]==2) pr[0]=3;
if(turn==0) break;


   }


    }while(play=='y');

}


void swap(int a,int b)
{
a=a+b;
b=a-b;
a=a-b;
}


void bar1()
{ if(a==0&&i<1) {l[0]+=15;l[2]+=15;l[4]+=15; }
  if(a==0&&i>=1){l[1]+=15;l[3]+=15;l[5]+=15; }

//  if(a==1&&i==1)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
  if(a==1&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
  if(a==1&&i>0) {l[0]-=15;l[2]-=15;l[4]-=15; }

  if(a==2&&i>=2) {l[0]-=15;l[2]-=15;l[4]-=15; }
  if(a==2&&i<2) {l[1]+=15;l[3]+=15;l[5]+=15; }
 }




void bar2()
{ if(a==0&&i>=3){l[0]-=15;l[2]-=15;l[4]-=15; }
  if(a==0&&i<3) {l[1]-=15;l[3]-=15;l[5]-=15; }

  if(a==1&&i<3) {l[0]+=15;l[2]+=15;l[4]+=15; }
  if(a==1&&i==3){l[1]-=15;l[3]-=15;l[5]-=15; }

  if(a==2&&i<2) {l[0]+=15;l[2]+=15;l[4]+=15;}
  if(a==2&&i>=2){l[1]-=15;l[3]-=15;l[5]-=15; }
   }
void bar3()
{if(a==0&&i>=3){l[0]+=15;l[2]+=15;l[4]+=15; }
 if(a==0&&i<3){l[1]+=15;l[3]+=15;l[5]+=15; }
 if(a==2&&i<2) {l[0]-=15;l[2]-=15;l[4]-=15; }
 if(a==2&&i>=2) {l[1]+=15;l[3]+=15;l[5]+=15; }
 if(a==1&&i>=1) {l[0]+=15;l[2]+=15;l[4]+=15; }
 if(a==1&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
   }
void bar4()
{if(a==0&&i<1){l[0]-=15;l[2]-=15;l[4]-=15; }
 if(a==0&&i>=1) {l[1]-=15;l[3]-=15;l[5]-=15; }
 if(a==2&&i>=2) {l[0]+=15;l[2]+=15;l[4]+=15; }
 if(a==2&&i<2){l[1]-=15;l[3]-=15;l[5]-=15; }
 if(a==1&&i<3) {l[0]-=15;l[2]-=15;l[4]-=15; }
 if(a==1&&i==3) {l[1]-=15;l[3]-=15;l[5]-=15; }
}
void rod1()

{

 if(a==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
    else    {l[1]+=15;l[3]+=15;l[5]+=15; }
  }
void rod2()
{

 if(a==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
   else  {l[1]-=15;l[3]-=15;l[5]-=15; }

 }
void box1()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
 if(i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
 if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
 }
void box2()
{if(i<1) {l[0]-=15;l[2]-=15;l[4]-=15; }
 if(i==1) {l[1]-=15;l[3]-=15;l[5]-=15; }
 if(i==2) {l[0]+=15;l[2]+=15;l[4]+=15; }
 }
 void tee1()
 {
    if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
    if(a==0&&i<1) {l[1]+=15;l[3]+=15;l[5]+=15; }
    if(a==0&&(i==2||i==3)) {l[0]+=15;l[2]+=15;l[4]+=15; }


    if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]+=15;l[3]+=15;l[5]+=15; }
    if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
    if(a>0&&(i==1)) {l[0]+=15;l[2]+=15;l[4]+=15; }

      }
  void tee2()
  {
    if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
    if(a==0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }
    if(a==0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }

    if(a>0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
    if(a>0&&i==1) {l[0]+=15;l[2]+=15;l[4]+=15; }
    if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }


      }
   void tee3()
   {  if(a==0&&i==0) {l[0]-=15;l[2]-=15;l[4]-=15; }
      if(a==0&&i==2)
{l[0]-=15;l[2]-=15;l[4]-=15;l[1]-=15;l[3]-=15;l[5]-=15; }
      if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15;}


      if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]+=15;l[3]+=15;l[5]+=15; }
      if(a>0&&i==0) {l[1]+=15;l[3]+=15;l[5]+=15; }
      if(a>0&&(i==1)) {l[0]-=15;l[2]-=15;l[4]-=15; }
   }
   void tee4()
   {  if(a==0&&i==1) {l[1]+=15;l[3]+=15;l[5]+=15; }
      if(a==0&&i==0) {l[0]+=15;l[2]+=15;l[4]+=15; }
      if(a==0&&i==2)
{l[1]-=15;l[3]-=15;l[5]-=15;l[0]+=15;l[2]+=15;l[4]+=15; }

      if(a>0&&i==2)
{l[0]+=15;l[2]+=15;l[4]+=15;l[1]-=15;l[3]-=15;l[5]-=15; }
      if(a>0&&i==0) {l[1]-=15;l[3]-=15;l[5]-=15; }
      if(a>0&&i==1) {l[0]-=15;l[2]-=15;l[4]-=15; }

      }

 check0()
{ int x,y,s,d=5;

   x=(l[0]-180)/15;
   y=(l[1]-90)/15;
   if(a==0){
  switch (p)
   { case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
     case 1: y+=4;x++;d=1;if(arr[y-3][x-1]==1) return(1); else break;
     case 2: y=y+4;d=2;x+=1;break;
     case 3: y=y+1;d=5;x+=4;break;
     case 4: y+=2;d=3;x++;break;
     case 5: y+=1;d=3;if(arr[y+1][x-1]==1) return(1); else break;
     }
      for(s=1;s<d;s++,x--)
      if(arr[y][x]==1) return(1);
      if((arr[y][x])==0) return(0); else return(1);
     }

      if(a==1){
     switch (p)
   { case 0: y+=2;d=2; if(arr[y][x-1]==1) return(1); else break;
     case 1: y=y+2;d=4;if(arr[y][x]==1) return(1); else break;
     case 2: y=y+2;d=4;x+=3;if(arr[y][x-3]==1) return(1); else break;
     case 3: y=y+5;d=0;break;
     case 4: y+=3;d=0;if(arr[y-1][x+1]==1) return(1); else break;
     case 5: y+=3;d=0;if(arr[y-1][x-1]==1) return(1); else break;
   }
      for(s=1;s<d;s++,x--)
      if(arr[y][x]==1) break;
     if((arr[y][x])==0) return(0); else return(1);
       }


  return(0);
}


check1()
{  int x,y,s,d=5;

   x=(l[0]-150)/15;
   y=(l[1]-90)/15;

   if(a==0){
   switch (p)
    {  case 0: x=x-1;y++;d=2;break;
       case 1: x=x;d=3; y=y+3; break;
       case 2: x=x;d=4;y+=3; break;
       case 3: x=x+3;d=0;break;
       case 4: x=x;break;
       case 5: x=x-1;d=0;

     }
    for(s=0;s<d;s++,y--)
    if(arr[y][x]==1) break;
     if((arr[y][x])==0) return(0); else return(2);
    }


   if(a==1)
   {   switch(p)
   {   case 0: x=x; break;
       case 1: x=x;d=1;break;
       case 2: x=x+3;  break;
       case 3: x=x;y+=5;d=4;break;
       case 4: x=x+1;break;
       case 5: x=x;y+=2;d=2;
   }

    for(s=0;s<d;s++,y--)
    if(arr[y][x-1]==1) break;
   if((arr[y][x-1])==0) return(0); else return(2);
  }
  return(0);
}


check2()
{
 int x,y,s,d=5;
   x=(l[0]-150)/15;
   y=(l[1]-90)/15;
  if(a==0){
   switch (p)
   { case 0: x=x-1;d=1;break;
     case 1: x=x;d=3;break;
     case 2: x=x;d=3;break;
     case 3: x=x;d=0;break;
     case 4: x=x-1;d=1;break;
     case 5: x=x-2;d=0;
   }
    for(s=0;s<d;s++,y++)
    if(arr[y][x-3]==1) break;
    if((arr[y][x-3])==0) return(0); else return(2);
   }

    if(a==1){


    switch (p)
   { case 0: x=x-4;d=2;break;
     case 1: x=x-6;d=0;break;
     case 2: x=x-3;d=2;y-=1;break;
     case 3: x=x-3;d=5;break;
     case 4: x-=3; d=3;break;
     case 5: x-=4; d=4;
    }
    for(s=1;s<d;s++,y++)
    if(arr[y][x]==1) break;
     if((arr[y][x])==0) return(0); else return(2);
    }
  return(0);
}

 check3()
{

 for(t=1;t<25;t++)

 for(q=1;q<12;)
   if(arr[t][q]==1) { q++; if(q==12) {score+=100;del();}}  else break;

  return(0);
}


void insert()
{ int x,y;
    for(i=0;i<5;i++){
    x=(l[0]-180)/15;
    y=(l[1]-90)/15;
   arr[y][x]=1;
     switch(p)
     {
       case 0: box2();break;
       case 1: bar2();break;
       case 2: bar4();break;
       case 3: rod2();break;
       case 4: tee2();break;
       case 5: tee4();
     }
     }

    if(arr[0][5]==1||arr[0][6]==1)
    {
    settextstyle(3,0,4);
    outtextxy(180,100," GAME OVER ");
    fflush(stdin);
    getch();
    turn=0;
    again();
    }

}

void print()
{
  for(i=0;i<5;i++){
setcolor(WHITE);
setfillstyle(SOLID_FILL,6);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,WHITE);
if(i<4)  switch (p)
{ case 0 : box1();break;
   case 1 : bar1();break;
   case 2 : bar3();break;
   case 3 : rod1();break;
   case 4 : tee1();break;
   case 5 : tee3();
}
        }

}

void remove()
{
for(i=0;i<5;i++){
setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
rectangle(l[0]+1,l[1]+1,l[2]-1,l[3]-1);
floodfill(l[4]+1,l[5]+1,BLACK);
 if(i<4) switch (p)
{ case 0 : box2();break;
   case 1 : bar2();break;
   case 2 : bar4();break;
   case 3 : rod2();break;
   case 4 : tee2();break;
   case 5 : tee4();
}
  }

}

void del()
{ int m,n;
 for(;t>0;t--)
 for(q=1;q<12;q++)
 arr[t][q]=arr[t-1][q];


 for(n=0;n<25;n++)
 //delay(50);
 for(m=1;m<12;m++){

 if(arr[n][m]==1)  { setcolor(WHITE);
      setfillstyle(SOLID_FILL,6);
      rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
      floodfill((m*15)+182,(n*15)+92,WHITE);
     }


 else        { setcolor(BLACK);
      setfillstyle(SOLID_FILL,BLACK);
      rectangle((m*15)+181,(n*15)+91,(m*15)+194,(n*15)+104);
      floodfill((m*15)+182,(n*15)+92,BLACK);
     }


        }
}



void frame()
{  setcolor(WHITE);
   setfillstyle(SOLID_FILL,8);

settextstyle(7,0,6);
outtextxy(140,3," TETTRIS ");
setcolor(WHITE);
settextstyle(2,0,7);
outtextxy(400,440,"Press 'Esc' To Exit");
settextstyle(2,0,5);
outtextxy(5,285,"      PRESS     ");
outtextxy(5,300,"Space To Change Shape");
outtextxy(5,315,"Use Arrow Keys To Move");



   rectangle(180,465,375,480);
   floodfill(181,466,WHITE);

   rectangle(180,90,194,480);
   floodfill(181,95,WHITE);

   rectangle(361,90,375,480);
   floodfill(362,95,WHITE);


   setcolor(WHITE);
   settextstyle(7,0,1);
   outtextxy(400,200," Next To Come ");
   setfillstyle(SOLID_FILL,0);
   rectangle(400,230,530,335);
   floodfill(401,231,WHITE);



   for(m=0;m<26;m++)
   for(n=0;n<13;n++)
   arr[m][n]=0;

   for(m=0,n=0;n<26;n++)
   arr[n][m]=1;

   for(n=12,m=0;m<26;m++)
   arr[m][n]=1;

   for(m=25,n=0;n<13;n++)
   arr[m][n]=1;

}
void again()
{
   cleardevice();
   setcolor(WHITE);
   setfillstyle(SOLID_FILL,BLACK);
   rectangle(150,175,530,335);
   floodfill(159,179,BLACK);


   setcolor(WHITE);
   settextstyle(7,0,1);
   outtextxy(175,200,"   Enter Your Choice  ");
   outtextxy(175,220," Press 'Y' To Play Again ");
   outtextxy(175,240," Press Any Key To Exit ");

 play=getch();
 if(play=='y') cleardevice();
 else exit(0);

 }




Berikut ini adalah kode C untuk membuat
 Sebuah game bouncing ball, mirip miriplah dengan bouncing ball yang ada di hp nokia jadul dulu

Bouncing Game di C

Bouncing Ball

#include<graphics.h>
#include<conio.h>
#include<alloc.h>
#include<dos.h>
#include<stdlib.h>
void *ball;

void image()
{
//ball
setcolor(RED);
setfillstyle(SOLID_FILL,RED);
fillellipse(10,10,10,10);
ball=malloc(imagesize(0,0,20,20));
getimage(0,0,20,20,ball);
cleardevice();

}


void main()
{
int gm,gd=DETECT;
initgraph(&gd,&gm,"");
int l=getmaxx()/2,r=0,t=0,b=0;
int x=1,y=1;
int s=0,key=0;
int xstep=1,ystep=1;

image();
setbkcolor(GREEN);

while(key!=27)
{


while(!kbhit()){
putimage(l,t,ball,XOR_PUT);
delay(5);
putimage(l,t,ball,XOR_PUT);

if(l>=getmaxx()||l<=0){x*=-1;sound(1000);s=0;xstep=x*(random(4)+1);ystep=y
*(random(3)+1);if(l<=0)l=0;else l=getmaxx();}

if(t>=getmaxy()||t<=0){y*=-1;sound(1000);s=0;ystep=y*(random(4)+1);xstep=x
*(random(3)+1);if(t<=0)t=0;else t=getmaxy();}
l+=x+xstep;
t+=y+ystep;
s++;
if(s==5)
{nosound();}
}
key=getch();

}
closegraph();
}



Game terakhir adalah game catur, kalian bisa mencoba membuat game catur yang bisa dimainkan oleh dua orang, nah untuk susunan kodenya, kalian bisa melihat contohnya disini :

Chess Game di C

Chess for two humans

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void blk(int,int);
void display();
//enum bool{TRUE,FALSE};
/*void main()                   //MAIN FUNCTION
{
display();
getch();
} */
void display()      //DISPLAY TO SHOW THE BOARD
{
int gd=DETECT,gm,i,j,l,m,b;
char pattern[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
int arrodd[32][2]={ {0,0},{100,0},{200,0},{300,0},{50,50},{150,50}
  ,{250,50},{350,50},{0,100},{100,100},{200,100},{300,100}
  ,{50,150},{150,150},{250,150},{350,150},{0,200},{100,200}
  ,{200,200},{300,200},{50,250},{150,250},{250,250},{350,250},
  {0,300},{100,300},{200,300},{300,300},{50,350},{150,350},
  {250,350},{350,350} };
int
arrevn[33][2]={{50,0},{150,0},{250,0},{350,0},{0,50},{100,50},{200,50},
    {300,50},{50,100},{150,100},{250,100},{350,100},{0,150},
    {100,150},{200,150},{300,150},{50,200},{150,200},{250,200},
    {350,200},{0,250},{100,250},{200,250},{300,250},{50,300},
    {150,300},{250,300},{350,300},{0,350},{100,350},{200,350},
    {300,350}};


clrscr();
initgraph(&gd,&gm,"");
for(i=0;i<=400;i=i+50)  //to draw vertical lines of the chess board.
{
line(i,0,i,400);
}
for(j=0;j<=400;j=j+50)  //to draw the horizontal lines of the chess
board.
{
line(0,j,400,j);
}
blk(420,0);
blk(420,250);
line(0,430,0,460);   //to draw the display at the bottom
line(0,430,400,430);
line(0,460,400,460);
line(400,430,400,460);
settextstyle(7,HORIZ_DIR,3);
setfillpattern(&pattern,GREEN);
for(b=0;b<=31;b++)
{
bar(arrodd[b][0],arrodd[b][1],arrodd[b][0]+50,arrodd[b][1]+50);
rectangle(arrodd[b][0],arrodd[b][1],arrodd[b][0]+50,arrodd[b][1]+50);
}
setfillpattern(&pattern,DARKGRAY);
for(m=0;m<=31;m++)
{
bar(arrevn[m][0],arrevn[m][1],arrevn[m][0]+50,arrevn[m][1]+50);
rectangle(arrevn[m][0],arrevn[m][1],arrevn[m][0]+50,arrevn[m][1]+50);
}
}
 void blk(int q,int r)
{
int y,z;
for(y=q;y<=(q+200);y=y+50)
{ line(y,r,y,r+200);}
for(z=r;z<=(r+200);z=z+50)
{ line(q,z,q+200,z);}
}



//Source file//
#include<akhchs.c>      //we used akhchs.c as header file
#include<stdio.h>
#include<conio.h>
#include<dos.h>
char pos[8][8],color[8][8];
void assign(char*,char*);
struct block{ //structure for every block
     int curx,cury;
     char clr,blkcolor;
    };
union REGS i,o;                  //for hardware interaction
char getblkcolor(int,int,int,int,char); //functions prototype
char chkpawnmov(struct block* selected,int x3,int y3);
char chkrookmov(struct block* selected,int x3,int y3);
char chkknightmov(struct block* selected,int x3,int y3);
char chkbishopmov(struct block* selected,int x3,int y3);
char chkqueenmov(struct block* selected,int x3,int y3);
char chkkingmov(struct block* selected,int x3,int y3);
void checkpwn(int,int);
void main()
{
int i1,j1,button,x,y,x1,y1,x2,y2,x3,y3,ch,i=0,j=0,z=1,turn=0;
struct block
*selected,pw[8],pb[8],rookw[2],rookb[2],bishopw[2],bishopb[2];
struct block kingw,kingb,queenw,queenb,knightw[2],knightb[2];
char id,nwblkclr,move='i';
assign(pos,color);
clrscr();
display();                            //for showing chess board
design();
setspare();    //for drawing rook etc.
setposw(pw);                        //sets position of black and
setposb(pb);                     //white pawns with color
setposrw(rookw,bishopw,knightw,&kingw,&queenw);//sets position of
whites
setposrb(rookb,bishopb,knightb,&kingb,&queenb);//sete position of
blacks
//restrictmouseptr(0,0,400,400);     //restricts pointer of mouse in
the
area specified there.
showmouseptr();
while(z)
{
i=i+1;
setcolor(WHITE);
if(turn%2==0) //means white's turn
 outtextxy(100,430,"white's turn");
else if(turn%2!=0) //means black's turn
 outtextxy(100,430,"black's turn");
while(i)
    {
     if(kbhit())
      {
      ch=getch();
      if(ch=='
')                //escape at pressing enter.
       exit(0);
      }
     getmousepos(&button,&x,&y);  //gets click position of mouse
if((button== 001))
{
   sound(1000);
   i=i-1;
   delay(50);
   nosound();
   delay(500);
}
    }
x1=relposx(x)/50;
y1=relposy(y)/50;
gotoxy(6,28);
if(x1==pw[0].curx && y1==pw[0].cury )
{  selected=&pw[0]; id='p'; }
else if(x1==pw[1].curx && y1==pw[1].cury )
{  selected=&pw[1]; id='p'; }
else if(x1==pw[2].curx && y1==pw[2].cury )
{  selected=&pw[2]; id='p';  }
else if(x1==pw[3].curx && y1==pw[3].cury )
{  selected=&pw[3]; id='p';  }
else if(x1==pw[4].curx && y1==pw[4].cury )
{  selected=&pw[4]; id='p';  }
else if(x1==pw[5].curx && y1==pw[5].cury )
{  selected=&pw[5]; id='p';  }
else if(x1==pw[6].curx && y1==pw[6].cury )
{  selected=&pw[6]; id='p';  }
else if(x1==pw[7].curx && y1==pw[7].cury )
{  selected=&pw[7]; id='p';  }
else if(x1==pb[0].curx && y1==pb[0].cury )
{  selected=&pb[0]; id='p';  }
else if(x1==pb[1].curx && y1==pb[1].cury )
{  selected=&pb[1]; id='p';  }
else if(x1==pb[2].curx && y1==pb[2].cury )
{  selected=&pb[2]; id='p';  }
else if(x1==pb[3].curx && y1==pb[3].cury )
{  selected=&pb[3]; id='p';  }
else if(x1==pb[4].curx && y1==pb[4].cury )
{  selected=&pb[4]; id='p';  }
else if(x1==pb[5].curx && y1==pb[5].cury )
{  selected=&pb[5]; id='p';  }
else if(x1==pb[6].curx && y1==pb[6].cury )
{  selected=&pb[6]; id='p';  }
else if(x1==pb[7].curx && y1==pb[7].cury )
{  selected=&pb[7]; id='p';  }
else if(x1==rookw[0].curx && y1==rookw[0].cury)
{  selected=&rookw[0]; id='r';  }
else if(x1==rookw[1].curx && y1==rookw[1].cury)
{  selected=&rookw[1]; id='r';  }
else if(x1==rookb[0].curx && y1==rookb[0].cury)
{  selected=&rookb[0]; id='r';  }
else if(x1==rookb[1].curx && y1==rookb[1].cury)
{  selected=&rookb[1]; id='r';  }
else if(x1==bishopw[0].curx && y1==bishopw[0].cury)
{  selected=&bishopw[0];id='b'; }
else if(x1==bishopw[1].curx && y1==bishopw[1].cury)
{  selected=&bishopw[1];id='b'; }
else if(x1==bishopb[0].curx && y1==bishopb[0].cury)
{  selected=&bishopb[0];id='b'; }
else if(x1==bishopb[1].curx && y1==bishopb[1].cury)
{  selected=&bishopb[1];id='b'; }
else if(x1==kingw.curx && y1==kingw.cury)
{  selected=&kingw; id='g';  }
else if(x1==queenw.curx && y1==queenw.cury)
{  selected=&queenw; id='q';  }
else if(x1==kingb.curx && y1==kingb.cury)
{  selected=&kingb; id='g';  }
else if(x1==queenb.curx && y1==queenb.cury)
{  selected=&queenb; id='q';  }
else if(x1==knightw[0].curx && y1==knightw[0].cury)
{  selected=&knightw[0];id='k'; }
else if(x1==knightw[1].curx && y1==knightw[1].cury)
{  selected=&knightw[1];id='k'; }
else if(x1==knightb[0].curx && y1==knightb[0].cury)
{  selected=&knightb[0];id='k'; }
else if(x1==knightb[1].curx && y1==knightb[1].cury)
{  selected=&knightb[1];id='k'; }
if((turn%2==0 && selected->clr=='b')||(turn%2!=0 &&
selected->clr=='w'))
exit();
turn=turn+1;
    j=j+1;
    while(j)
    {
if(kbhit())
      {
      ch=getch();
      if(ch=='
')                //escape at pressing enter.
       exit(0);
      }
getmousepos(&button,&x2,&y2);  //gets click position of mouse
if((button== 001))
{
sound(500);
j=j-1;
delay(100);
nosound();
delay(500);
}
   }
   x3=relposx(x2)/50; //gives standard x coordinate
   y3=relposy(y2)/50; //gives standard y coordinate
   nwblkclr=getblkcolor(x1,y1,x3,y3,selected->blkcolor);//get
destination
block's color;
   gotoxy(6,28);
   bottom();  //clears bottom display
     if(id=='p')       //wheteher pawn?
     {
  move= chkpawnmov(selected,x3,y3);
   if(move=='v')
   {
   draw(x3,y3,selected,nwblkclr,'p');
   checkpwn(x3,y3);
   }
      }
    else if(id=='r')  //whether rook?
     {
   move=chkrookmov(selected,x3,y3);
   if(move=='v' )
   {
  draw(x3,y3,selected,nwblkclr,'r');
   }
     }
    else if(id=='k') //whether knight?
    {
  move= chkknightmov(selected,x3,y3);
  if(move=='v' )
  {
  draw(x3,y3,selected,nwblkclr,'k');
  }

    }
    else if(id=='b')  //whether bishop?
    {
  move=chkbishopmov(selected,x3,y3);
   if(move=='v')
   {
   draw(x3,y3,selected,nwblkclr,'b');
   }
    }
    else if(id=='q')  //whether queen?
    {
  move=chkqueenmov(selected,x3,y3);
  if(move=='v')
  draw(x3,y3,selected,nwblkclr,'q');
     }
     else if(id=='g')  //whether king?
    {
  move=chkkingmov(selected,x3,y3);
  if(move=='v')
  draw(x3,y3,selected,nwblkclr,'g');
     }
      if(move=='i') turn=turn-1;
    }
  getch();
}

getmousepos(int *button,int* x,int* y) //gets mouse position.
{
 i.x.ax=3;
 int86(0x33,&i,&o);
 *button=o.x.bx;
 *x=o.x.cx;
 *y=o.x.dx;
 return;
}

showmouseptr()         //shows pointer in graphics mode.
{
 i.x.ax=1;
 int86(0x33,&i,&o);
 return;
}

void hidemouseptr()     //hides pointer
{
i.x.ax=0;
int86(0x33,&i,&o);
return;
}
restrictmouseptr(int x1,int y1,int x2,int y2)      //restrict pointer
 {
 i.x.ax=7;
 i.x.cx=x1;
 i.x.dx=x2;
 int86(0x33,&i,&o);
 i.x.ax=8;
 i.x.cx=y1;
 i.x.dx=y2;
 int86(0x33,&i,&o);
 return;
}
setposw(struct block* pawnw) //sete each white pawn.
{ int count,togl;
for(count=0,togl=0;count<=7;count++,togl++)
{
pawnw->curx=count;
pawnw->cury=6;
pawnw->clr='b';
if(togl%2==0)
pawnw->blkcolor='g';
else if(togl%2==1)
pawnw->blkcolor='m';
pawnw++;
}
 return;
}
setposb(struct block* pawnb) //sets each black pawn.
{
 int count,togl;
for(count=0,togl=0;count<=7;count++,togl++)
{
pawnb->curx=count;
pawnb->cury=1;
pawnb->clr='w';
if(togl%2==0)
pawnb->blkcolor='m';
else if(togl%2==1)
pawnb->blkcolor='g';
pawnb++;
       }
  return;
}
char chkpawnmov(struct block* selected,int x3,int y3)
{  char mov,id,c; //checks each pawn (black and white) move.
  id=pos[x3][y3];   //anybody?
  c=color[x3][y3];    //color?
  if(selected->clr=='w') //white pawn?
  {
if(x3==selected->curx && y3==selected->cury+1 ) //move 1
{ if(id=='n')           //id is none when no body is there
mov='v';
}
else if( (x3==selected->curx+1 || x3==selected->curx-1) &&
y3==selected->cury+1)
{
if(id!='n' && c=='b')               //black present?
{
mov='v';
send(id,c);
}
}
  }
  else if(selected->clr=='b')
 {
if(x3==selected->curx  &&  y3==selected->cury-1) //black and white
both
not there?
{         if(id=='n')
    mov='v';
}
else if((x3==selected->curx-1 || x3==selected->curx+1) &&
y3==selected->cury-1)
{    if(id!='n' && c=='w' ) //white there
   {
   mov='v'; //valid move
   send(id,c);
   }
}
 }
 else
 { //no action at invalid move.
mov='i';
 }
 return(mov);
}
setposrw(struct block* rookw,struct block* bishopw,struct block*
knightw,struct block* kingw,struct block* queenw)
{ //it sets the white rook,knight,bishop etc.
 int i;
 rookw->curx=rookw->cury=7;
 rookw->clr='w';
 rookw->blkcolor='m';
 rookw++;
 rookw->curx=7;rookw->cury=7;
 rookw->clr='w';
 rookw->blkcolor='g';
 bishopw->curx=2;
 bishopw->cury=7;
 bishopw->clr='w';
 bishopw->blkcolor='m';
 bishopw++;
 bishopw->curx=5;
 bishopw->cury=7;
 bishopw->clr='w';
 bishopw->blkcolor='g';
 knightw->curx=1;
 knightw->cury=7;
 knightw->clr='w';
 knightw->blkcolor='g';
 knightw++;
 knightw->curx=6;
 knightw->cury=7;
 knightw->clr='w';
 knightw->blkcolor='m';
 kingw->curx=3;kingw->cury=7;
 kingw->clr='w';kingw->blkcolor='m';
 queenw->curx=4;queenw->cury=7;
 queenw->clr='w';queenw->blkcolor='g';
 return;
}
setposrb(struct block* rookb,struct block* bishopb,struct block*
knightb,struct block* kingb,struct block* queenb)
{ //it sets the current coords of black rook,bishop,knight etc.
 int i;
 rookb->curx=0;rookb->cury=0;
 rookb->clr='b';
 rookb->blkcolor='g';
 rookb++;
 rookb->curx=7;rookb->cury=0;
 rookb->clr='b';
 rookb->blkcolor='m';
 bishopb->curx=2;
 bishopb->cury=0;
 bishopb->clr='b';
 bishopb->blkcolor='g';
 bishopb++;
 bishopb->curx=5;
 bishopb->cury=0;
 bishopb->clr='b';
 bishopb->blkcolor='m';
 knightb->curx=1;
 knightb->cury=0;
 knightb->clr='b';
 knightb->blkcolor='m';
 knightb++;
 knightb->curx=6;
 knightb->cury=0;
 knightb->clr='b';
 knightb->blkcolor='g';
 kingb->curx=3;kingb->cury=0;
 kingb->clr='b';kingb->blkcolor='m';
 queenb->curx=4;queenb->cury=0;
 queenb->clr='b';queenb->blkcolor='g';
 return;
}
draw(int x3,int y3,struct block* selected,char nwblkclr,char id1)
{
  int nx3,ny3,ncx,ncy;
  nx3=x3*50; ny3=y3*50; ncx=(selected->curx)*50;
ncy=(selected->cury)*50;
 if(nwblkclr=='g')       //CLEAR NEW POSITION
 setfillpattern(pattern,GREEN);
 else if(nwblkclr=='m')
 setfillpattern(pattern,MAGENTA);
 hidemouseptr();    //necessary to avoid the effect of mouse pointer.
 bar(nx3,ny3,nx3+50,ny3+50);
 setcolor(WHITE);
 rectangle(nx3,ny3,nx3+50,ny3+50);
 if(selected->blkcolor=='g')           //CLEAR PREVIOUS POSITION
 setfillpattern(pattern,GREEN);
 else if(selected->blkcolor=='m')
 setfillpattern(pattern,MAGENTA);   //clear the previous pos.
 bar(ncx,ncy,ncx+50,ncy+50);
 setcolor(WHITE);
 rectangle(ncx,ncy,ncx+50,ncy+50);
 if(id1=='p')  //if pawn was selected then draw the pawn at new
position.
 { if(selected->clr=='w')
pawndraw(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
pawndraw(nx3,ny3,1);

 }
else if(id1=='r') //if rook was selected
 { if(selected->clr=='w')
rookdraw(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
rookdraw(nx3,ny3,1);
 }
 else if(id1=='k') //if knight was selected
 {      if(selected->clr=='w')
drawknite(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
drawknite(nx3,ny3,1);
 }
 else if(id1=='b') //if bishop was selected
 {      if(selected->clr=='w')
drawbishop(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
drawbishop(nx3,ny3,1);
 }
 else if(id1=='g')
 {      if(selected->clr=='w')
drawking(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
drawking(nx3,ny3,1);
 }
 else if(id1=='q')
 {      if(selected->clr=='w')
drawqueen(nx3,ny3,0);   // 0 for white.
else if(selected->clr=='b')
drawqueen(nx3,ny3,1);
 }
showmouseptr();
pos[selected->curx][selected->cury]='n';
color[selected->curx][selected->cury]='n'; //welcome back  mr.
pointer.
selected->curx=x3;
selected->cury=y3;
selected->blkcolor=nwblkclr;
pos[x3][y3]=id1;
color[x3][y3]=selected->clr;
return;
}
char chkrookmov(struct block* selected,int x3,int y3)
{                //checks rook move for black and white as both have
same
moves.
 int i;
 char id,c,mov='v';
 if( (x3==selected->curx) || (y3==selected->cury) )
 {
if(x3>selected->curx && y3==selected->cury)
{
for(i=selected->curx+1;i<x3;i++)
{
id=pos[i][y3];
// c=color[i][y3];
if(id!='n') //if black or white present move is invalid
{
  mov='i';
}
}
}
       else if(x3<selected->curx && y3==selected->cury)
{
for(i=selected->curx-1;i>x3;i--)
{
id=pos[i][y3];
// c=color[i][y3];
if(id!='n') //if black or white
{
  mov='i';
}
}
}

       else if(x3==selected->curx && y3>selected->cury)
{
for(i=selected->cury+1;i<y3;i++)
{
id=pos[x3][i];
  // c=color[x3][i];
if(id!='n') //if black or white
{
  mov='i';
}
}
}
       else if(x3==selected->curx && y3<selected->cury)
{
for(i=selected->cury-1;i>y3;i--)
{
id=pos[x3][i];
    // c=color[x3][i];
if(id!='n') //if black or white
{
  mov='i';
}
}
}
   if(mov=='v')
   {
   id=pos[x3][y3];
   c=color[x3][y3];
   if(id!='n' && c=='b' && selected->clr=='w')           //means black
at
x3,y3
   {
      mov='v';
      send(id,c);
   }
   else if(id!='n' && c=='w' && selected->clr=='b')      //means white
there
   {
      mov='v';
      send(id,c);
   }
   else if(id=='n')//none of the white or black even at x3 & y3?
     mov='v';
   else
     mov='i';
   }
   }
   else mov='i';

return(mov);
}
char chkknightmov(struct block* selected,int x3,int y3)
{
 //knight's moves are not affected if some entity lies in the way.
 //it just jumps over them.Atmost only eight moves are possible.
 int i,posk[8][2];
 char id,c,mov='i';
 posk[0][0]=selected->curx+1;
 posk[0][1]=selected->cury-2;
 posk[1][0]=selected->curx-1;
 posk[1][1]=selected->cury-2;
 posk[2][0]=selected->curx+1;
 posk[2][1]=selected->cury+2;
 posk[3][0]=selected->curx-1;
 posk[3][1]=selected->cury+2;
 posk[4][0]=selected->curx+2;
 posk[4][1]=selected->cury-1;
 posk[5][0]=selected->curx+2;
 posk[5][1]=selected->cury+1;
 posk[6][0]=selected->curx-2;
 posk[6][1]=selected->cury+1;
 posk[7][0]=selected->curx-2;
 posk[7][1]=selected->cury-1;
 for(i=0;i<=7;i++)
 {
  if(x3==posk[i][0] && y3==posk[i][1])
  {
   id=pos[x3][y3];
   c=color[x3][y3];
   if(id!='n'&& c=='b' && selected->clr=='w')
   {
    mov='v';             //means black is there.
    send(id,c);
   }
   else if(id!='n'&&c=='w' && selected->clr=='b')
   {
    mov='v'; //means white is there.
    send(id,c);
   }
   else if(id=='n')
    mov='v'; //means it is blank.
  }
 }
  return(mov);
}
char chkbishopmov(struct block* selected,int x3,int y3)
{
 int m,n,m1,n1,i,j;
 char mov,id,c;
 m=x3-selected->curx;
 n=y3-selected->cury;
 if(abs(m)==abs(n))
 {  if(m>0 && n<0)//move 1
{ for(i=selected->curx+1,j=selected->cury-1;(i<x3 && j>y3);i=i++,j--)
{
     id=pos[i][j];
//      c=color[i][j];
     if(id!='n')
     mov='i';
}
}
if(m>0 && n>0)//move 2
{ for(i=selected->curx+1,j=selected->cury+1;(i<x3 && j<y3);i++,j++)
{
     id=pos[i][j];
//      c=color[i][j];
     if(id!='n')
     mov='i';
}
}
if(m<0 && n<0)//move 3
{ for(i=selected->curx-1,j=selected->cury-1;(i!=x3 && j!=y3);i--,j--)
{
     id=pos[i][j];
//      c=color[i][j];
     if(id!='n')
     mov='i';
}
}
if(m<0 && n>0)//move 4
{ for(i=selected->curx-1,j=selected->cury+1;(i>x3 && j<y3);i--,j++)
{
     id=pos[i][j];
//      c=color[i][j];
     if(id!='n')
     mov='i';
}
}
if(mov!='i') //..that no body is in the way,now at x3 y3?
{
id=pos[x3][y3];
c=color[x3][y3];
if(id!='n'&& c=='b')           //means black at x3,y3
{
    if(selected->clr=='w')
    {
      mov='v';
      send(id,c);
    }
    else
      mov='i';
}
else if(id!='n'&& c=='w')      //means white there
{
    if(selected->clr=='b')
    {
      mov='v';
      send(id,c);
    }
    else
    { mov='i';}

}
else if(id=='n')//none of the white or black even at x3 & y3?
mov='v';
}
 } //means not at the x cross.
 else
 {
  mov='i';
 }
 return(mov);
}
char chkqueenmov(struct block* selected,int x3,int y3)
{
 char mov1,mov2,mov3='i',id,c;
 mov1=chkrookmov(selected,x3,y3);
 mov2=chkbishopmov(selected,x3,y3);
 if(mov1=='v' || mov2=='v')              //move is valid and color is
checked already.
 {
 mov3='v';
 }
 return(mov3);
}
char chkkingmov(struct block* selected,int x3,int y3)
{
 char id,c,mov='i';
 id=pos[x3][y3];
 c=pos[x3][y3];
 if(x3==selected->curx+1 && y3==selected->cury-1) //move 1
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx-1 && y3==selected->cury-1)  //move 2
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx-1 && y3==selected->cury+1)  //move 3
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w') //means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx+1 && y3==selected->cury+1)  //move 4
 {
if(id=='n' )
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx+1 && y3==selected->cury)     //move 5
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w') //means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx && y3==selected->cury-1)     //move 6
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx-1 && y3==selected->cury)     //move 7
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else if(x3==selected->curx && y3==selected->cury+1)     //move 8
 {
if(id=='n')
mov='v';
else if(selected->clr=='w' && id!='n' && c=='b')//means black there.
{
mov='v';
send(id,c);
}
else if(selected->clr=='b' && id!='n' && c=='w')//means white there.
{
mov='v';
send(id,c);
}
 }
 else //means move is not valid
 { mov='i';}
 return(mov);
}
void assign(char* post,char* col)
{ int i;
  char
val1[64]={"rpnnnnprkpnnnnpkbpnnnnpbgpnnnnpqqpnnnnpgbpnnnnpbkpnnnnpkrpnnnnpr"};
  char
val2[64]={"wwnnnnbbwwnnnnbbwwnnnnbbwwnnnnbbwwnnnnbbwwnnnnbbwwnnnnbbwwnnnnbb"};
  for(i=0;i<=63;i++,post++,col++)
  {  *post=val1[i]; *col=val2[i]; }
}
void checkpwn(int x3,int y3)
{
 char a;
 a=color[x3][y3];//whether pawn is white or black?
 bottom();
 setcolor(WHITE);
 if(a=='w' && (x3>=0 && x3<=7) && y3==7)
 {
  outtextxy(100,430,"well done white..press w");
  getch();    bottom();
 }
 else if(a=='b' && (x3>=0 && x3<=7) && y3==0)
 {
 outtextxy(100,430,"well done black..press b");
 getch();     bottom();
 }
 return;
}


Nah bagaimana?? Tadi itu adalah 5 bahasa pemrograman C yang diaplikasikan kedalam sebuah game sederhana. Jika kalian berminat untuk membanguns sebuah game kalian harus mempelajari dasar - dasarnya dulu guys. Oke jika ada pertanyaan atau saran kalian bisa menulisnya di kolom komentar.

Sekian terimakasih semoga artikel ini dapat membantu :D
Pages: 1 2 3 4 5

Kamis

5 Game Call Of Duty Terbaik Ditahun 2019 Cobain!

5 Game Call Of Duty Terbaik Yang Pernah Ada



Halo sobat gamers pecinta game fps, kali ini saya eko wardani akan mengulas dan memberikan 5 rekomendasi game Call Of Duty Terbaik versi taugakini yang harus lo coba maenin guys!.


Game Call of Duty besutan Activision sudah sangat terkenal terutama di kalangan pecinta game tembak menembak FPS.
Game yang sudah rilis pertama kali ditahun 2003 ini, setiap tahunnya pasti merilis seri terbaru yang jika dihitung sampai sekarang game ini sudah memiliki 15 seri dari tahun ketahun. Yang artinya game ini tidak pernah absen dalam melakukan pembaruan game dan menciptakan game call of duty terbaru untuk pada pelanggan setianya.

Tentunya game ini bisa rilis tiap tahun bukan karena tanpa alasan, tetapi karena game ini digarap oleh 3 developer atau studio yaitu studio Infinity Ward, Treyarch dan Studio Sledgehammer Games.

Bahkan beberapa bulan yang lalu tepatnya pada bulan Oktober tanggal 12 kemarin, Activision kembali merilis seri Call of Duty yang baru yaitu seri Black Ops yang sama seperti seri sebelumnya. Yaitu sama - sama digarap oleh Studio Treyarch, ditambah seri ini juga mrnuai banyak sekali pujian karena keseruan yang ditawarkan oleh game ini seperti mode battle royale yang sedang trending akhir akhir ini.

Nah untuk daftar rekomendasi game call of duty terbaik saat ini adalah sebagai berikut :


5. Call of Duty 2



Game Call Of Duty yang berada di urutan ke lima adalah seri Call Of Duty 2 yang telah dirilis pada tahun 2005, walaupun seri ini terbilang jadul daj sudah lama alias antik wkwk. Namun game ini masih menjadi salah satu game Call Of Duty terbaik, game yang mengambil latar belang di perang dunia ke II ini dan juga menggunakan perspektif atau sudut pandang dari empat orang tentara yaitu dua British Army, red army , dan United States Army.

Fitur yang membedakan game ini dengan seri sebelumnya adalah adanya fitur regenerasi HP dan juga simbol atau tanda peringatan kalau ada granat yang dekat akan segera meledak.




Jika dibandingkan dengan game - game lainnya yang rilis pada tahun 2005, game ini menjadi salah satu game yang terbaik pada tahun tersebut, ditambah lagi sistem regenerasi HP dianggap menjadi sebuah ide yang sangat Inovatif bagi para pengembang game. Bahkan banyak juga kritikus gamr yang mengatakan kalau Studio Infinity Ward ini berhasil membuat terobosan dan menjadikan game Call Of Duty 2 ini lebih baik dari seri sebelumnya.


4. Call of Duty: Black Ops 4


Seri terbaru dari game Call Of Duty masuk ke urutan ke 4 versi taugakini, walaupun game ini baru beberapa bulan lau dirilis, game ini sudah memiliki banyak pengguna.

Seri game Call Of Duty: Black Ops 4 ini adalah satu - satunya seri game CoD yang tidak memiliki mode single player Campaign didalamnya. Sebagai ganti dafi mode tersebut,  seri game yang satu ini mengeluarkan mode baru yaitu mode Solo Missions yang  berfokus ke latar belakang cerita dari mode multiplayer yang dikenal sebagai specialist.

Bagian terbaiknya didalam game ini adalah adanya mode battle royal yang sedang ramai diperbincangkan oleh seluruh gamers di dunia yang disebut mode Blackout.


Keputusan Studio Treyarch untuk menghapus mode Single Plaher Campaigm menimbulkan berbagai kontroversi dan pro kontra akan keputusan ini. Banyak para player yang tidak setuju dan merasa kecewa akan hal ini. Untungnya pihak Studio Treyarch mrmbuat mode baru Blackout yang mengobati rasa kekecewaan para player.

Bahkan ada banyak orang yang menggadang gadang kalau game battle royale terbaik saat ini adalah game call of duty black ops 4 ini.



3. Call of Duty: Black Ops


Game Call Of Duty yang berada di urutan ketiga adalah seri game Call Of Futy: Black Ops. Seri game Black Ops pertama yang eilis pada tahun 2010 ini ternyata lebih unggul, dengan setting latar belakang perang dingin yang terjadi pada tahun 1960. Game ini juga menghadirkan mode single player Campaign dan menghadirkan mode multiplayer dengan 14 map berbeda.

Jika kalian sedang mencari game Menembak dengan Mode single player terbaik, maka kalian wajib untuk mencoba game Call Of Duty seri ini. Selain itu mode multiplayernya juga tidak kalah seru dan menarik. Apalagi ditambah dengan adanya map terbaik sepanjang sejarah Call Of Duty yaitu map Firing Range dan Map Nuketown.


2. Call of Duty 4: Modern Warfare



 Game Call Of Duty yang berada di urutan kedua adalah seri Call Of Duty 4: Modern Warfare.
Seri yang dirilis di tahun 2017 ini dikembangkan oleh studio infinty ward, jika pada seri - seri sebelumnya game Call Of Duty selalu dengan tema dan latar belakang tahun tahun dimana perang besar terjadi seperti perang dunia II dan perang dingin. Di seri ini Call Of Duty mengambil setting dan latar belakang perang di beberapa negara pada tahun 2011

Bahkan karena game inilah Call Of Duty menetapkan standar baru dalam desain single player campaign dan juga telah menghadirkan berbagai inovasi didalam mode multiplayer saat game ini rilis. Bahkan karena game ini pula genre FPS dibawa ke level baru yang belum pernah hadir fi game FPS pada masanya.


1. Call of Duty: Modern Warfare 2


Game Call Of Duty Terbaik ternyata jatuh pada seri keenamnya yaitu Call Of Duty: Modern Warfare 2. Seri game yang di garap dan dikembangkan oleh studio infinity ward ini berkisah  tentang Task Force 14q. Yaitu unit pasukan khusus seperti CIA yang dikomandoi oleh kapten Soap macTavish.

Ada juga beberapa fitur baru yang dihadirkan di dalam seri game ini yang sebelumnya tidak ada di game generasi sebelumnya.

Karena game ini dibangun dan dikembangkan setelah game Call Of Duty 4: Modern Warfare sebagai batu lonvatan dan sekaligus pondasinyam game ini telah sukses menjadi seri game terbaik Call Of Duty sepanjang sejarah CoD. Bahkan sampai sekarang game ini masih digadang gadang oleh para player dan kritikus sebagai game FPS terbaik sepanjang Masa.


***

Nah itu tadi adalah daftar 5 Game Call Of Duty terbaik sepanjang masa yang patut dan harus kalian cobain jika kalian memang benar benar penggemar game FPS Shooter. Tapi jika kalian merasa kurang setuju dengan urutan tersebut kalian bisa memberikan pendapat kalian melalui kolom komentar !


Game Center Pusat Permainan penjelasan 2019

Game Center adalah sebuah aplikasi yang dirilis oleh Apple yang memungkinkan pengguna untuk bermain dan menantang teman ketika bermain game jaringan game sosial multiplayer online. [6] [7] Game sekarang dapat berbagi fungsionalitas multi-pemain antara versi aplikasi Mac dan iOS. [8]

Pusat Permainan
IOS7 Game Center logo.png
Game-center-mac-app.png
Game Center di OS X Yosemite.
Mengetik
Layanan online
Tanggal peluncuran
8 September 2010; 8 tahun yang lalu
Versi sekarang
12.1.2 (khusus iPhone) [1] (16C104) [2] (20 Desember 2018; 7 hari yang lalu) [±]
12.1.1 (iPad & iPod Touch Generasi ke-6) [3] (16C50) (5 Desember 2018; 22 hari yang lalu) [±]
Peron
iOS 4.1 atau lebih baru, OS X Mountain Lion atau lebih baru
Sistem operasi
macOS, iOS
Anggota
67 juta (per 22 Oktober 2011) [4] [5]
Game Center dapat diimplementasikan oleh pengembang pada iOS 4.1 atau yang lebih baru, dan Mac OS X 10.8 atau lebih baru, melalui kerangka kerja GameKit. Game Center tersedia di iPod Touch generasi ke-2 dan yang lebih baru (iOS 4.1 atau lebih tinggi diperlukan); iPhone 3GS dan yang lebih baru (iOS 4.1 atau lebih tinggi diperlukan); semua model iPad (iOS 4.2 atau lebih tinggi diperlukan); Komputer Mac yang menjalankan OS X 10.8 Mountain Lion atau lebih baru, Apple TV 4 menjalankan tvOS, dan Apple Watch menjalankan watchOS 3

Gaming menjadi bagian utama platform iOS ketika Apple meluncurkan App Store pada 10 Juli 2008. [9] Berbeda dengan sistem konsol yang saat ini ada di pasaran, Apple tidak memiliki multiplayer dan sistem sosial terpadu untuk platform mereka. Kesenjangan ini segera diisi oleh pihak ketiga, seperti, OpenFeint Plus AGON Online dan Scoreloop. Pihak ketiga ini memiliki kendali atas lingkungan game online dan dengan beberapa pihak ketiga terlibat, hal itu meninggalkan pengalaman yang tidak disatukan.

Game Center diumumkan pada acara pratinjau iOS 4 yang diselenggarakan oleh Apple pada 8 April 2010. Pratinjau dirilis kepada pengembang Apple yang terdaftar pada bulan Agustus. [6] Itu dirilis pada 8 September 2010 dengan iOS 4.1 pada iPhone 4, iPhone 3GS, dan iPod Touch generasi ke-2 hingga generasi ke-4, dan disertakan dengan iOS 4.2 di iPad. [10]

Versi terbaru dari Game Center dirilis dengan iOS 5 yang menampilkan penambahan game berbasis giliran, foto pemain, saran teman, dan poin prestasi. [11] Pembaruan iOS 6 menambahkan Tantangan, cara bagi pemain untuk menantang pemain lain untuk mengalahkan skor papan peringkat atau mendapatkan prestasi. [12]

Pada 13 Juni 2016, aplikasi telah dihapus dari iOS 10 dan macOS Sierra; Namun, layanan ini masih ada. [13] [14]

Dari dalam Game Center, pemain dapat terhubung dengan teman, mengirim permintaan pertemanan, mulai bermain game dan mengatur game multi-pemain online. Jumlah teman yang dapat dihubungkan ke satu akun Game Center terbatas hingga 500. Beberapa game mungkin menampilkan pencapaian, di mana untuk menyelesaikan tugas tertentu, pemain mendapat poin penghargaan. Bergantung pada gimnya, papan peringkat mungkin ada di mana pemain dapat membandingkan skornya dengan teman atau dunia. [15]

Banyak game iOS menggunakan Game Center, tetapi tidak semuanya menggunakan setiap fitur. Aplikasi dapat memilih untuk memasukkan salah satu atau semua fitur berikut yang didukung oleh Game Center:

Papan peringkat - membandingkan skor dengan teman-teman pemain dan dengan pemain lain dari seluruh dunia
Prestasi - Poin diberikan kepada pemain sebagai bagian dari sistem pelacakan pencapaian Game Center. Pemain bisa mendapatkan poin dengan memenuhi tantangan dalam game tertentu. Pemain tidak dapat menggunakan poin untuk apa pun selain untuk menilai kemajuan dalam game. Itu dikembangkan sehingga pemain dapat bersosialisasi dan bersaing satu sama lain.
Multiplayer - game dapat menyelenggarakan pertandingan secara real time, baik antara teman-teman pemain atau dengan "pencocokan otomatis" dengan pemain acak dari seluruh dunia

Download Sb Game Hacker Gratis Tanpa Root di Android

Penjelasan cara download dan ulasan mengenai aplikasi sb game hacker


Halo sobat taugakini!, kembali lagi sama saya eko wardani alias mas wardan, kali ini saya akan memberikan ulasan mengenai debuah aplikasi hacker untuk meretas berbagai macam game offline maupun online di android.

Nama dari aplikasi tersebut adalah

 Sb Game Hacker !!




Mungkin di antara kalian sudah ada yang tahu mengenai aplikasi ini. Tapi saya akan memberikan sedikit penjrlasan mengenai aplikasi hacker ini.

Pertama aplikasi Sb Game Hacker ini, ternyata sangat mirip dengan aplikasi hacker yang lain yaitu GAME GUARDIAN. Nah kalian juga pasti sudah tahu dan pernah mencoba aplikasi itu bukan?.


Sebelumnya saya juga sudah mengulas menhenai game guardian, kalian bisa mencari artikelnya di kolom search diatas.


Lalu apa sih manfaat dari Sb Game Hacker ini?

1. Manfaat Menggunakan Sb Game Hacker


Kalian bisa mengubah dan membeli beberapa item yang harusnya susah untuk dibeli baik itu karena itemnya harus dibeli menggunakan uang sungguhan, atau biaya itemnya yang sangat mahal.


2. Mengubah stamina attack dan deffense


Jika game yang kalian mainkan adalah game bertipe pertarungan seperti rpg, fps dan juga arcade kalian bisa menubah stamina, cooldwon skill ataupun penyerangan alias attack dan pertahanan alias defense menjadi tak terbatas atau dalam bahasa inggrisnya unlimited. ( udah kaya paketan aja unlimited wkek :v )


Kelebihan dari Aplikasi Sb Game Hacker 



1. Gratis !!!


Yap yang pertama kali saya sebutkan adalah gratis, aplikasi ini benar benar gratis dan sama sekali tidak memungut biaya sepeserpun untuk menggunakannya kecuali menggunakan kuota saat mendownloadnya. Tidak seperti aplikasi lain yang harus mrmbayar jika ingin menggunakan secara penuh aplikasinya seperti aplikasi premium.

2. Bisa digunakan tanpa ROOT


Ini yang paling saya suka dari aplikasi sb Game Hacker. Karena menggunakan aplikasi ini kalian tidak harus melakukan root terlebih dahulu dengan handphone kalian karena memang beresiko jika proses root gagal. Keren sekali bukan? Karena rata rata aplikasi untuk meretas biasanya memerlukan akses root untuk menjalankannya.

3. Bisa digunakan oleh Hp yang sudah Di ROOT


NAH berita bagus untuk kalian yang hp atau androidnya telah di root terlebih dahulu. Kalian juga tetap bisa menggunakan aplikasi ini secara penuh tampa terkendala apapun.

Inilah salah satu kehebatan aplikadi sb game hacker ini karena memang fleksibel dan bisa digunakan di berbagai macam situasi dan kondisi.

4. Bisa meretas hampir semua game online


Untuk kalian yang ingin mencoba ngecheat game online seperti coc hay day ataupun game yang sedang trend seperti mobile legends dan pubg kalian bisa mencobanya dengan aplikasi ini.

Karena memang sudah banyak sekali orang yang mempraktekannya dan berhasil meretas gamenya menggunakan aplikasi sb game hacker ini.

5. Mudah sekali meretas game offline


Jika bisa meretas game online, jangan ditanya apakah bisa meretas game ofdline atau tidak. Dengan aplikasi Sb Game Hacker ini kalian bisa dengan mudah meretas game offline seperti game hungry shark ataupun game online terkenal lain seperti candy crush saga.

6. Selalu Update


Untuk yang ke enam ini sangat penting karena jika suatu aplikasi sering di update itu tandanya aplikasinya masih dikembangkan dan akan menjadi lebih baik lagi, apalagi kalian bisa mendownloadnya dengan mudah dan gratis tanpa harus membayar.


Jika ada sebuah kelebihan tentunya pasti ada sebuah kelemahan dalam suatu aplikasi, berikut ini adalah kekurangan aplikasi sb game hacker



1. Tidak tersedia di Playstore



Tentu saja karena ini aplikasi curang, pasti tidak akan pernah ada di playstore karena merugikan aplikasi lain. Jadi jangan coba coba mencari aplikadi sejenis ini di playstore karena sudah pasti tidak ada.

Selain itu karena tidak ada di playstore akan ada banyak sekali website yang menawarkan aplikasi seperti ini dan ternyata isinya adalah virus bukan aplikasi yang di inginkan.


2. Permainan jadi tidak menantang



Hal ini sudah saya pastikan sendiri, ketika kita menggunakan aplikasi curang untuk memainkan game, maka tingkat keseruan dari game tersebut akan menurun drastis karena tidak menantang alias mudah sekali untuk dimenangkan.

Jadi untuk kalian yang memang berniat mencari hiburan dalam bermain game, jangan menggunaksn aplikasi curang seperti ini.


Cara mendownload aplikasi Sb Game Hacker ini :



Pertama kalian bisa mengunjungi webise asli dari pengembang aplikasi sb game hacker ini yaitu :

sbgamehacker.net

Nah jika sudah mengunjungi website ini kalian akan langsung mrlihat tombol download berwarna hijau biasanya yah. Menurut saya lebih baik mendownload aplikasinya di tempat ini karena memang sudah terpercaya.

Untuk cara penginstallan game ini kalian bisa menginstallnya seperti biasa atau aplikasi aplikasi lain pada umumnya. Jika masih belum.mengerti kalian bisa mencarinya di youtube karena sudah banyak yang mengulas aplikadi sb game hacker ini.


Sekian informasi dan ulasan mengenai sb game hacker ini semoga bisa bermanfaat dan apabila kalian memiliki pertanyaan kalian bisa menuliskannya di kolom komentar !

10 Game Berdandan Terbaru Di Android Yang Seru 2019

10 Game Berdandan Terbaik dan Seru Di Android Offline


Hai sobat taugakini, kembali lagi website saya taugakini. Kali ini saya akan membahas dan mengulas beberapa game berdandan terbaik di android offline dijamin bikin nagih.


Dari judulnya saja sudah pasti kalian tahu kalau game ini dikhususkan untuk anak perempuan. Kalau kalian cowo dan memainkan game ini kayanya kurang wajar dan tidak lazim wkwk.


Ngomongin tentang permainan perempuan, kebanyakan pasti berpikir tentang memasak karena kebanyakan orang akan berpikir kalau permainan perempuan ya hanya itu. Padahal dengan adanya smartphone game game perempuan menjadi luas dan banyak jenisnya, dan salah satunya yaitu berdandan.

Didalam game berdandan kalian bisa mendandani artis, cewek cantik, pengantin dan juga diri sendiri. Karena itulah game ini menjadi menarik untuk kaum hawa terutama untuk anak perempuan dan gadis remaja perempuan.


Lantas? Apa saja sih game berdandan yang seru dan  tak membosankan? Berikut ini adalah ulasan mengenai beberapa gamr berdandan terbaik yang pernah ada.


1. Covet Fashion



Game berdandan selanjutnya adalah Covet Fashion, game ini sangat cocok untuk anak perempuan yang memiliki passion dan suka berdandan. Game ini bisa jadi pilihan yang tepat untuk kalian yang suka menggonta ganti pakaian seperti model fashion stylist. Di dalam game ini juga terdapat hanyak karakter karakter cantik yang bisa kalian dandani.


Game yang memiliki banyak aksesoris pakaian berbagau macam baju dan juga dress yang bisa kalian coba satu persatu, kelebihan dari game ini adalah semua pakaian dan dress yang ada didalam game ini adalah pakaian pakaian dari berbagai macam merk terkenal didunia. Jadi tentunya model yang akan kalian dandani bakalan menjadi fashionable dan kekinian.

Untuk mencoba gamenya kalian bisa mendownloadnya di aplikas Playstore di android kalian.


2. Princess Makeup Salon



Game Berdandan pertama yang paling seru dan kerrn adalah Princess Makeup Salon, di dalam game ini kalian bisa menjadi seorang penata rias hebat yang mendandani berbagai macam karakter cantik seperti putri kerjaan. yang siap untuk kalian dandani agar menjadi lebih cantik lagi layaknya seorang peri dan dewi.

Saking serunya game ini bahkan sudah diunduh oleh lebih dari 137.000 pengguna di playstore. Karena itulah kalian juga sepatutnya mencoba game berdandan yang satu ini agar tidak ketinggalan.

Untuk memainkan game ini juga terbilang mudah, pertama tama yang harus kalian lakukan adalah merawat dan memberikan servis kepada para putri yang berkunjung ke salon kamu. Seperti membasuh, memberikan masker dan menghilangkan jerawat. Setwlah itu kalian bisa menata dan mendandani putri tersebut sesuai selera kalian.


Seperti biasa game ini juga bisa kalian download dan coba di aplikasi playstore di hp kalian.

3. Princess Salon


Berdandan dan menjadi cantik bukan lagi impian di dalam game princess salon ini, kalian akan mendandani putri - putri cantik disalon kalian

Permainan ini juga dibagi menjadi 3 tahap mulai dari tahap spa dimana kalian akan memberikan servis dan treatment agar sang putri menjadi cantik wajahnya

Kedua kalian akan menata dan membuat rambut dang putri menjadi cantik dan indah. Terakhir kalian akan mendandani setiap putri kerajaan dengan pakaian dan aksesoris yang telah disediakan di dalam game princess salon ini.

Dengan berbagai macam fitur mulai dari banyaknya putri atau karakter yang bisa kalian dandani, disediakannya berbagai macam pakaian indah dan mewah yang tentunya fashionable. Terakhir kalian disuguhkan oleh beberapa jenis gaya rambut yang tentunya indah dan sangat menawa, dari semua fitur tersebut tentunya kalian tertarik untuk memainkan game berdandan yang satu ini bukan??

Nah untuk memainkannya kalian hanya perlu mendownload game ini di aplikasi playstore yang sudah terpasang di smartphone kalian.


4.  Make-Up Me: Superstar


Bagaiman jadinya jika kalian dimintai untuk mendandani dan menata rambut wajah dan pakaian seorang artis??, di dalam game ini Make-Up Me : Superstar. Kalian harus siap mendandani seorang artis yang akan pergi ke panggung layaknya seorang penata rias artis yang sudah profesional.

Di dalam game ini dibagi menjadi 3 tahap seperti game game sebelumnya,

Di langkah pertama kalian akan memilih  warna kulit dan warna rambut dari si artis tersebut. Setelah selesai dan merasa cocok dengan warnanya kalian akan ke langkah ke 2 yaitu memaikaikan berbagai macam make up seperti bedak lipstik ke wajah sang artis.

Nah dilangkah terakhir nanti kalian akan dimintai untuk mendandani sang artis mulai dari memilihkan pakaian mrmberikan berbagai macam aksesoris cantik seperti gelang kalung dan anting anting cantik.


Untuk memainkan game Make-Up Me: Superstar ini kalian hanya perlu mengunduh gamenya di aplikasi playstore atau di website penyedia game seperti getjar atau apkpure.

5. Candy Makeup


Game yang lainya adalah game Makeup menurut saya game ini cukup asyik dan menarik muli dari grafis dan tokoh tokoh karakternya yang cantik. Dama dengan game game sebelumnya game ini juga mengusung tema berdandan mulai dari mendandani wajah sampai pakaiannya.

Didalam game Candy Makeup ini terdapat banyak sekali variasi fitur yang akan kalian temukan

Contohnya para pemain di game Candy Makeup ini diberikan kebebasan untuk mendandani dan memakeup over wajah pada pelanggannya. Di dalam game ini juga kalian bisa memberikan servis seperti body massage atau memijat tubuh sang pelanggan, pedicure dan manicure. Selain itu aksesoris dan beragam macam pakaian sudah tersedia di dalam game berdandan Candy Makeup ini.

Nah silahkan Download Game Berdandan Terbaik Offline Di Android ini melalui playstore.



6. Hijab Make Up Salon



Game Berdandan yang paling paling keren dan beda dari yang lain menurut saya adalah Hijab Make Up Salon. Dilihat dari judul gamenya saja kalian pasti sudah tahu kalau game ini memiliki perbedaan yang sangat mencolok dibandingkan game berdandan yang lainnya.

Disini kalian akan mendandani seorang wanita cantik yang mengenakan hijab, tidak seperti game sebelumnya kalian tidak bisa menata rambut karakter disini tapi kalian bisa mengganti gaya hijab yang dikenakan karakter atau pelanggan kalian.

Karena keunikannya gamr yang paling saya  suka adalah Hijab Make Up Salon

Selain menata hijab dai karakternya kalian juga bisa menambahkan beberapa aksesoris dan memakeup wajah karakter hijaber ini sesuka hati kalian sesuai selera.

Oh iya game Hijab Make Up Salon ini juga tersedia di playstore, jadi bagi kamu yang ingin mencicipi permainan berdandan hijab kalian bisa mencoba mendownloadnya di aplikasi Playstore.


7. Wedding Makeup Salon


Game berikutnya mengenai game berdandan adalah game Wedding Makeup Salon, didalam game ini kalian harus mendandani seorang wanita yang akan segera menikah. Yang berarti disini kalian berprofesi sebagai seorang penata rias pengantin.

Intinya di dalam game ini kalian harus membuat si wanita memiliki penampilan yang cantik dan mempesona agar sang pengantin pria tidak kecewa mulai dari me make up wajah si pengantin, menata rambutnya dan juga memilih gaun pengantin yang cocok untuk dipakai pada saat hari pernikahannya nanti.

Fitur fitur di dalam game ini juga tidak terlalu berbeda dengan game - game sebelumnya yaitu ada fitur spa dan treatment, memberikan treatment pada wajah sang pengantin dan memberikan beragam aksesoris pada pengantin tersebut.

Untuk memainkan gamenya cukup dengan mendownloadnya di playstore yang sudah ada di hp atau android kalian.


8. Glam Doll Salon


Du game yang satu ini kalian harus mendandani perempuan yang sangat cantik luar biasa seperti sebuah boneka barbie. Kalian bertugas mendandani karakter tersebut agar menjadi cantik dan menawan. Agar nanti setelah kalian selesai mendandaninya, karakter tersebut bisa pd untuk pergi berbelanja dan minum teh bersama dengan teman temannya.

Nah untuk mendandaninya kalian bisa memakaikan berbagai macam atribut yang sudah disediakan oleh pihak developer gamenya. Kalian bisa memakaikan karakter stersebut lipstick, blush on, bedak, eye liner, dan juga berbagai macam alat kecantikan lainnya

Untuk memsinkannya sama dengan game - game yang lain kalian hanya perlu mendownload game inindi playstore ataupun appstore.



9. Realistic Make Up


Didalam game yang satu ini cukup berbeda dan unik karena ketika kalian mendandani karakter utama, kalian akan merasa seperti sedang mendandani orang sungguhan. Karena itulah game ini diberi judul realistic makr up.

Karena itulah kalian jangan kaget apabila melihat hasil tata rias kalian terlihat sangat realistis dan seperti sungguhan

Nah fitur fitur lain yang juga ada di game sebelumnya seperti lipstick eye liner dan juga bedak. Didalam game ini fitur fitur tersebut juga ketika dipakai akan nampak seperti memakai lipstick dan eye liner sungguhan.

Sangat menarik hukan?, jika kalian penasaran bagaimana game tersebut, kalian bisa mendownload gamenya di playstore dan google



10. Mermaid Makeup Salon


Mermaid Makeup Salonkalau pada game game seblumnya kalian hanya mendandani manusia biasa seperti artis dan juga putri kerjaan. Di dalam game yang satu ini kalian harus mendandani seorang putri duyung yang tinggal dilautan luas samudra.

Dengan mengusung tema laut game ini menjadi menarik dan sorotan untuk kaum haea seperti kalian karena berbeda dari yang lainnya.

Namun untuk cara memainkan dan fitur fitur gamenya semuanya kurang lebih sama seperti game game sebelumnya seperti memakeup wajah sang putri duyung menata rambut dan juga mendandani alias memilihkan pakaian untuk si putri duyung

Kesimpulan : bagaimana menarik menarik bukan game game yang sudah diulas tadi, kalian bisa mendownload semua gamennya melalui aplikasi playstorem dan apabila ada game yang lebih cocok dan lebih menarik menurut kalian. Kalian bisa memberitahu saya melalui kolom komentar di bawah ! :)