龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

魔方算法

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
#include #include #include #include int a[3][3]={1,1,1,1,1,1,1,1,1}; /*IN99vIALIZE SIX PLANS*/ int b[3][3]={2,2,2,2,2,2,2,2,2}; int c[3][3]={4,4,4,4,4,4,4,4,4}; int d[3][3]={3,3,3,3,3,3,3,3,3}; int e[3][3]={5,5,5,5,5,5,5,5,5}; int f[3][3]={

#include

  #include

  #include

  #include

  int a[3][3]={1,1,1,1,1,1,1,1,1}; /*IN99vIALIZE SIX PLANS*/

  int b[3][3]={2,2,2,2,2,2,2,2,2};

  int c[3][3]={4,4,4,4,4,4,4,4,4};

  int d[3][3]={3,3,3,3,3,3,3,3,3};

  int e[3][3]={5,5,5,5,5,5,5,5,5};

  int f[3][3]={7,7,7,7,7,7,7,7,7};

  int top[3][3],front[3][3],side[3][3];

  int position=0,temp[3]={0,0,0},new[3][3]; /*POS99vION ASSIGN THE ARROW POS99vION*/

  int sign;

  main()

  {

  int l=60,x=50,y=50,key,count,input=0,errorcode; /*L MEANS THE LENTH OF THE SQUARE,X MEANS THE IN99vAIL POS99vION OF X,Y MEANS THE IN99vIAL POS99vION OF Y*/

  int a1[3][3]={1,1,1,1,1,1,1,1,1}; /*IN99vIALIZE SIX PLANS FOR BACKUP*/

  int b1[3][3]={2,2,2,2,2,2,2,2,2};

  int c1[3][3]={4,4,4,4,4,4,4,4,4};

  int d1[3][3]={3,3,3,3,3,3,3,3,3};

  int e1[3][3]={5,5,5,5,5,5,5,5,5};

  int f1[3][3]={7,7,7,7,7,7,7,7,7};

  int graphdriver=VGA,graphmode=VGAHI;

  initgraph(&graphdriver,&graphmode,"");

  errorcode = graphresult();

  if (errorcode != grOk) /*MEET ERROR*/

  { /*SHOW THE ERROE*/

  printf("Graphics error: %s

", grapherrormsg(errorcode));

  printf("Press any key to exit:");

  getch();

  exit(1);

  }

  drawing(x,y,l); /*DRAWING THE BIG SQUARE*/

  drawing(x+400,y,l/2); /*DRAWING THE SMALL SQUARE*/

  do

  {

  sign=position%3; /*COPY DATA TO SHOW*/

  copy (&a,&top);

  copy (&b,&front);

  copy (&c,&side);

  color(x,y,l); /*SHOWING THE BIG SQUARE*/

  copy (&e,&top);

  change2(&top,1);

  copy (&f,&front);

  change2(&front,2);

  copy (&d,&side);

  color(x+400,y,l/2); /*SHOWING THE SMALL SQUARE*/

  setcolor(14);

  arrow(x,y,l);

  key=bioskey(0); /*READ KEYBORD*/

  switch(key)

  {

  case 283:printf("Esc"); /*IF INPUT_KEY="ESC" TO EX99v THE PROGRAM*/

   goto end;

  case 20480:setcolor(0); /*IF INPUT_KEY="DOWN" TO CHANGE THE ARROW*/

   arrow(x,y,l);

   if(position==8)

   position=0;

   else

   position=position+1;

   break; /*IF INPUT_KEY="UP" TO CHANGE THE ARROW*/

  case 18432:setcolor(0);

   arrow(x,y,l);

   if(position==0)

   position=8;

   else

   position=position-1;

   break;

  case 19712:input=1; /*IF INPUT_KEY="RIGHT" TO MOVE FORWARD*/

   break;

  case 19200:input=3; /*IF INPUT_KEY="LEFT" TO MOVE REWARD*/

   break;

  case 7181: setcolor(0); /*IF INPUT_KEY="ENTER" TO RELOAD */

   arrow(x,y,l);

   copy(&a1,&a);

   copy(&b1,&b);

   copy(&c1,&c);

   copy(&d1,&d);

   copy(&e1,&e);

   copy(&f1,&f);

   position=0;

   break;

  case 14624:setcolor(0); /*IF INPUT_KEY="SPACE" TO RANDOM MOVE*/

   arrow(x,y,l);

   randomize();

   position=random(9);

   input=1;

   break;

  }

  if(input!=0) /*USE POS99vION TO JUDGE AND CHANGE DATA*/

  {

  

  

精彩图集

赞助商链接