• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: 魔方算法  

资源简介

一个用C编写的魔方还原算法,层次分明,可作为C语言学习的资料,值得推荐!

资源截图

代码片段和文件信息

/*  魔方 -- 作者:邝镇kuang0516@yahoo.com.cn */

#include “graphics.h“
#include “stdio.h“

int color[6][9]={444444444
                 222222222
                 141414141414141414
                 151515151515151515
                 777777777
                 999999999};
int column[6][9]={195255315345375315255225285
                  180180180240300300300240240
                  345345345375405405405375375
                  470470470530590590590530530
                  555555851151151158585
                  195255315345375315255225285};
int row[6][9]={135135135105757575105105
               180240300300300240180180240
               165225285255225165105135185
               901502102102101509090150
               165225285255225165105135185
               425425425395365365365395395};
void boxinit()
{
 setcolor(CYAN);
 moveto(150150);
 lineto(330150);
 line(150210330210);
 line(150270330270);
 line(150330330330);
 line(180120360120);
 line(2109039090);
 line(2406042060);
 line(360120360300);
 line(39090390270);
 line(42060420240);
 line(330210420120);
 line(330270420180);
 line(330330420240);
 line(33015042060);
 line(330150330330);
 line(270150270330);
 line(210150210330);
 line(150150150330);
 line(15015024060);
 line(21015030060);
 line(27015036060);

 moveto(40150);
 lineto(13060);
 lineto(130240);
 lineto(40330);
 lineto(40150);
 line(7012070300);
 line(10090100270);
 line(40210130120);
 line(40270130180);

 moveto(44060);
 lineto(62060);
 lineto(620240);
 lineto(440240);
 lineto(44060);
 line(440120620120);
 line(440180620180);
 line(50060500240);
 line(56060560240);

 moveto(150440);
 lineto(330440);
 lineto(420350);
 lineto(240350);
 lineto(150440);
 line(210440300350);
 line(270440360350);
 line(180410360410);
 line(210380390380);
}
void temp()
{ delay(1);
}
void upcolor()
{int ij;
 for(i=0;i<6;i++)
   for(j=0;j<9;j++)
   {setfillstyle(1color[i][j]);
    floodfill(column[i][j]row[i][j]CYAN);
    temp();}
}
//该函数实现边面转90度的功能
//bt为要转的边面
void borderturn(int bt)
{int x1x2;
 x1=color[bt][0];
 x2=color[bt][1];
 color[bt][0]=color[bt][2];
 color[bt][1]=color[bt][3];
 color[bt][2]=color[bt][4];
 color[bt][3]=color[bt][5];
 color[bt][4]=color[bt][6];
 color[bt][5]=color[bt][7];
 color[bt][6]=x1;
 color[bt][7]=x2;
}
//该函数实现中间面转90度的功能
//x1x2x3x4为旋转涉及到的面参数,x5-x16为正方形参数说明是哪个正方形参与了旋转
//其中x5x6x7为x1面的
//x8x9x10为x2面的
//x11x12x13为x3面的
//x14x15x16为x4面的
//中间面旋转涉及到四个面的变化
void medturn(int x1int x2int x3int x4int x5int x6int x7int x8
             int x9int x10int x11int x12int x13int x14int x15int x16)
{int y1y2y3;
 y1=color[x1][x5];
 y2=color[x1][x6];

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16530  2009-08-20 20:28  魔方算法.c

----------- ---------  ---------- -----  ----

                16530                    1


评论

共有 条评论

相关资源