魔方算法源代码

上传人:简****9 文档编号:94906258 上传时间:2019-08-13 格式:DOC 页数:19 大小:96.50KB
返回 下载 相关 举报
魔方算法源代码_第1页
第1页 / 共19页
魔方算法源代码_第2页
第2页 / 共19页
魔方算法源代码_第3页
第3页 / 共19页
魔方算法源代码_第4页
第4页 / 共19页
魔方算法源代码_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《魔方算法源代码》由会员分享,可在线阅读,更多相关《魔方算法源代码(19页珍藏版)》请在金锄头文库上搜索。

1、#include graphics.h#include stdio.hint color69=4,4,4,4,4,4,4,4,4, 2,2,2,2,2,2,2,2,2, 14,14,14,14,14,14,14,14,14, 15,15,15,15,15,15,15,15,15, 7,7,7,7,7,7,7,7,7, 9,9,9,9,9,9,9,9,9;int column69=195,255,315,345,375,315,255,225,285, 180,180,180,240,300,300,300,240,240, 345,345,345,375,405,405,405,375,375

2、, 470,470,470,530,590,590,590,530,530, 55,55,55,85,115,115,115,85,85, 195,255,315,345,375,315,255,225,285;int row69=135,135,135,105,75,75,75,105,105, 180,240,300,300,300,240,180,180,240, 165,225,285,255,225,165,105,135,185, 90,150,210,210,210,150,90,90,150, 165,225,285,255,225,165,105,135,185, 425,4

3、25,425,395,365,365,365,395,395;void boxinit() setcolor(CYAN); moveto(150,150); lineto(330,150); line(150,210,330,210); line(150,270,330,270); line(150,330,330,330); line(180,120,360,120); line(210,90,390,90); line(240,60,420,60); line(360,120,360,300); line(390,90,390,270); line(420,60,420,240); lin

4、e(330,210,420,120); line(330,270,420,180); line(330,330,420,240); line(330,150,420,60); line(330,150,330,330); line(270,150,270,330); line(210,150,210,330); line(150,150,150,330); line(150,150,240,60); line(210,150,300,60); line(270,150,360,60); moveto(40,150); lineto(130,60); lineto(130,240); linet

5、o(40,330); lineto(40,150); line(70,120,70,300); line(100,90,100,270); line(40,210,130,120); line(40,270,130,180); moveto(440,60); lineto(620,60); lineto(620,240); lineto(440,240); lineto(440,60); line(440,120,620,120); line(440,180,620,180); line(500,60,500,240); line(560,60,560,240); moveto(150,440

6、); lineto(330,440); lineto(420,350); lineto(240,350); lineto(150,440); line(210,440,300,350); line(270,440,360,350); line(180,410,360,410); line(210,380,390,380);void temp() delay(1);void upcolor()int i,j; for(i=0;i6;i+) for(j=0;j9;j+) setfillstyle(1,colorij); floodfill(columnij,rowij,CYAN); temp();

7、/该函数实现边面转90度的功能/bt为要转的边面void borderturn(int bt)int x1,x2; x1=colorbt0; x2=colorbt1; colorbt0=colorbt2; colorbt1=colorbt3; colorbt2=colorbt4; colorbt3=colorbt5; colorbt4=colorbt6; colorbt5=colorbt7; colorbt6=x1; colorbt7=x2;/该函数实现中间面转90度的功能/x1,x2,x3,x4为旋转涉及到的面参数,x5-x16为正方形参数说明是哪个正方形参与了旋转/其中x5,x6,x7为x

8、1面的/x8,x9,x10为x2面的/x11,x12,x13为x3面的/x14,x15,x16为x4面的/中间面旋转涉及到四个面的变化void medturn(int x1,int x2,int x3,int x4,int x5,int x6,int x7,int x8, int x9,int x10,int x11,int x12,int x13,int x14,int x15,int x16)int y1,y2,y3; y1=colorx1x5; y2=colorx1x6; y3=colorx1x7; colorx1x5=colorx2x8; colorx1x6=colorx2x9; co

9、lorx1x7=colorx2x10; colorx2x8=colorx3x11; colorx2x9=colorx3x12; colorx2x10=colorx3x13; colorx3x11=colorx4x14; colorx3x12=colorx4x15; colorx3x13=colorx4x16; colorx4x14=y1; colorx4x15=y2; colorx4x16=y3;/函数实现UP面顺时针转90*i度的功能void turn1(int i)int k; for(k=0;ki;k+) borderturn(0); medturn(1,2,3,4,0,7,6,0,7,

10、6,6,7,0,6,7,0); /函数实现UP面和DOWN面中间层顺时针转90*i度的功能void turn2(int i)int k; for(k=0;ki;k+) medturn(1,2,3,4,1,8,5,1,8,5,5,8,1,5,8,1); /函数实现DOWN面顺时针转90*i度的功能void turn3(int i)int k; for(k=0;ki;k+) borderturn(5); medturn(1,2,3,4,2,3,4,2,3,4,4,3,2,4,3,2); /函数实现FRONT面顺时针转90*i度的功能void turn4(int i)int k; for(k=0;k

11、i;k+) borderturn(1); medturn(4,5,2,0,0,1,2,0,1,2,2,1,0,2,1,0); /函数实现FRONT面和BACK面的中间层顺时针转90*i度的功能void turn5(int i)int k; for(k=0;ki;k+) medturn(4,5,2,0,7,8,3,7,8,3,3,8,7,3,8,7); /函数实现BACK面顺时针转90*i度的功能void turn6(int i)int k; for(k=0;ki;k+) borderturn(3); medturn(4,5,2,0,6,5,4,6,5,4,4,5,6,4,5,6); /函数实现

12、RIGHT面顺时针转90*i度的功能void turn7(int i)int k; for(k=0;ki;k+) borderturn(2); medturn(1,5,3,0,6,5,4,2,3,4,4,5,6,4,3,2); /函数实现LEFT面和RIGHT面的中间层顺时针转90*i度的功能void turn8(int i)int k; for(k=0;ki;k+) medturn(1,5,3,0,7,8,3,1,8,5,3,8,7,5,8,1); /函数实现LEFT面顺时针转90*i度的功能void turn9(int i)int k; for(k=0;ki;k+) borderturn(

13、4); medturn(1,5,3,0,0,1,2,0,7,6,2,1,0,6,7,0); /实现i次L-E-L-U-L-E-L-U功能void turna(int i)int k; for(k=0;ki;k+) turn9(1);/L turn2(3);/E turn9(3);/L turn1(1);/U turn9(1);/L turn2(1);/E turn9(3);/L turn1(3);/U /实现i次R-E-R-U-R-E-U功能void turnb(int i)int k; for(k=0;ki;k+) turn7(1);/R turn2(1);/E turn7(3);/R turn1(3);/U turn7(1);/R turn2(3);/E turn7(3);/R

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号