资源简介
一个用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
- 上一篇:进程同步实验代码c语言
- 下一篇:首次适应算法主存空间的分配和回收C语言源代码
评论
共有 条评论