【魔方贴图三阶】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

目前只写了六个面,目前只是简单的贴出六个面,后期会逐渐完善剩下的,比如魔方每个面之间的转动,以及还原前后的判断,还有开始前魔方随机打乱等

提示:以下是本篇文章正文内容,下面案例可供参考

一、魔方是什么?

魔术方块,也称鲁比克方块
魔方,Rubik’s Cube 又叫魔术方块,也称鲁比克方块。是匈牙利布达佩斯建筑学院厄尔诺·鲁比克教授在1974年发明的。

二、使用步骤

1.引入头文件库

代码如下(示例):

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<Windows.h>
#include<easyx.h>
#include<time.h>
/*******************/
void MFSuiJiM(IMAGE img[]); ///魔方随机面
void MFtietie();//加载图片

/*函数声明*/

/*常数*/
#define N 6
#define width 141*9
#define height 141*6
/******************/

2.设置需要调用的函数进行调用

代码如下(示例):


void MFSuiJiM(IMAGE img[]) ///魔方随机面
{

	int MF3[N][3][3] = {
		{{1,1,1},{1,1,1},{1,1,1}},
		{{2,2,2},{2,2,2},{2,2,2}},
		{{3,3,3},{3,3,3},{3,3,3}},
		{{4,4,4},{4,4,4},{4,4,4}},
		{{5,5,5},{5,5,5},{5,5,5}},
		{{6,6,6},{6,6,6},{6,6,6}}
	};
	/*打印6个面*/
	
	for (int n = 0; n < N;)
	{
		printf("【***********魔方第%d面**********】\n",n+1);


		for (int i = 0; i < 3; )
		{
			for (int k = 0; k < 3;)
			{
				if (MF3[n][i][k] == 4)
				{
					printf("红");
					putimage(k * 141, (3+i) * 141, img+4);
					//k++;
				}
				else if (MF3[n][i][k] == 3)
				{
					printf("橙");
					putimage((k+6) * 141, i * 141, img+3);
					//k++;
				}
				else if (MF3[n][i][k] == 1)
				{
					printf("黄");
					putimage(k * 141, i * 141, img+1);
					//k++;
				}
				else if (MF3[n][i][k] == 2)
				{
					printf("白");
					putimage((k + 3) * 141, i * 141, img + 2);
					//k++;
				}
				else if (MF3[n][i][k] == 5)
				{
					printf("蓝");
					putimage((k+3) * 141, (i+3) * 141, img+5);
					//k++;
				}
				else if (MF3[n][i][k] == 6)
				{
					printf("绿");
					putimage((k+6) * 141,(3+ i )* 141, img+6);
					//k++;
				}
				k++;
			}
			printf("\n");
			i++;
		}
		printf("\n");
		n++;

	}  //

}

void MFtietie()//加载图片
{
	//批量加载
	IMAGE img[7];
	char buff[25] = { 0 };
	for (int i = 1; i < 7; i++)
	{
		sprintf(buff, "./res/%d.png", i);
		loadimage(&img[i], buff, 139, 139);
		MFSuiJiM(img);
		
		
	}
	
}

该处进行上面的函数调用:

/*主函数*/
int main()
{
	/*创建窗口*/
	initgraph(width, height, 1);
	/*设置窗口颜色*/
	setbkcolor(WHITE);
	cleardevice();///刷新
	//srand((unsigned int)time(NULL));///设置时间种子
	

	//加载图片
	MFtietie();

	while (1);
	return 0;
}




总结

以上就是今天要讲的内容,本文仅仅简单介绍了三维数组的使用,写了一简易的三阶魔方界面,后期会逐渐完善。图片素材可以再任意地方自行截取,我的图片素材是在WPS里面截图截的,需要素材可以找我,或者在评论区留言。

#题外话:
我还只是 一个萌新,今天是刚接触C语言的第二天。感谢大佬的支持若有不足之处,还望各位大佬指点迷津,谢谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

崔小永

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值