資源簡介
(重要!!!其中使用了easyx圖形庫,easyx的外部文件需自己另外下載并配置好,本資源未包括該擴展庫的文件,即把幾個文件放進VC6.0的Lib文件夾里就好了)
作品名稱:魔方還原
作品功能:進行三階魔方還原。
界面介紹:打開程序首先進入一個有著發光魔方背景的歡迎界面,有“Rubik”和“Help”兩個按鈕。按“Help”按鈕進入幫助界面,顯示用鍵盤操作魔方的方法。按“Rubik”進入魔方還原的主界面,左邊是一個可以看到三面的立體魔方,右邊是與立體魔方對應的六面展開圖。魔方初始狀態是未被打亂的狀態。另外搭配主界面的還有一個控制臺窗口,用于顯示操作步驟。
操作說明:從鍵盤直接輸入字符控制,各字符含義如下。
0: 按數字零退出程序。
*: 按星號鍵執行逆序法還原魔方。
+: 按加號鍵執行魔方傳統的“層先法”進行還原。
R: 順時針90°轉右面。 r: 逆時針90°轉右面。
U: 順時針90°轉頂面。 u: 逆時針90°轉頂面。
L: 順時針90°轉左面。 l: 逆時針90°轉左面。
D: 順時針90°轉底面。 d: 逆時針90°轉底面。
F: 順時針90°轉前面。 f: 逆時針90°轉前面。
B: 順時針90°轉背面。 b: 逆時針90°轉背面。
M: 向下轉中層。 m: 向上轉中層。
X: 順著x軸轉90°。 x: 逆著x軸轉90°。
Y: 順著y軸轉90°。 y: 逆著y軸轉90°。
Z: 順著z軸轉90°。 z: 逆著z軸轉90°。

代碼片段和文件信息
#include
#include
#include
#include
#include
#include
#pragma?comment(lib“Winmm.lib“)
using?namespace?std;
class?Face
{
public:
Face();
COLORREF?color;
void?coordinate(int?x1?int?y1?int?x2?int?y2);
void?coloring();
private:
int?iX1?iY1;??????//立方體小塊涂色坐標
int?iX2?iY2;??????//展開圖小塊涂色坐標
};
Face::Face()
{
color?=??RGB(0?0?0);??????????????//初始化
}
void?Face::coordinate(int?x1?int?y1?int?x2?int?y2)
{
iX1?=?x1;
iY1?=?y1;
iX2?=?x2;
iY2?=?y2;
}
void?Face::coloring()
{
setfillstyle(0);
setfillcolor(color);
floodfill(iX1?iY1?RGB(233?233?233));
floodfill(iX2?iY2?RGB(233?233?233));
}
Face?F[3][3];?
Face?U[3][3];?
Face?R[3][3];?
Face?L[3][3];?
Face?D[3][3];?
Face?B[3][3];?
void?Right();
void?right();
void?Up();
void?up();
void?Left();
void?left();
void?Down();
void?down();
void?Front();
void?front();
void?Back();
void?back();
void?M();
void?m();
void?X();
void?x();
void?Y();
void?y();
void?Z();
void?z();
int?main()
{
void?welcome();
void?play();
welcome();
play();
return?0;
}
void?welcome()???????//歡迎界面
{
void?help();
initgraph(640?480);
IMAGE?img?btn;
MOUSEMSG?m; //?定義鼠標消息
loadimage(&img“.\\資源\\Rubik.jpg“640480true);
putimage(0?0?&img);
loadimage(&btn“.\\資源\\按鈕.jpg“25548true);
putimage(200?40?&btn);??//Rubik的按鈕
putimage(200?400?&btn);??//Help的按鈕
setcolor(RGB(43160224));
setbkmode(TRANSPARENT);??????//字體透明背景
settextstyle(38?13?_T(“華文彩云“));
outtextxy(30045“Rubik“);//Rubik
outtextxy(300405“Help“);//Help
// setcolor(RGB(249180104));????//按鈕定位
// rectangle(200?40?455?88);
while(true)
{
//?獲取一條鼠標消息
m?=?GetMouseMsg();
if(m.x>200&&m.x<455&&m.y>40&&m.y<88&&m.mkLButton)???//Rubik(三階)的按鈕按下
{
loadimage(&btn“.\\資源\\按鈕(按下后).jpg“25548true);
putimage(200?40?&btn);
outtextxy(265?45“Welcome“);
Sleep(500);
closegraph();
break;
}
else?if(m.x>200&&m.x<455&&m.y>400&&m.y<448&&m.mkLButton)??//Help的按鈕按下
{
loadimage(&btn“.\\資源\\按鈕(按下后).jpg“25548true);
putimage(200?400?&btn);
outtextxy(265?405“Welcome“);
Sleep(500);
// closegraph();???//當新開啟繪圖界面時,原界面可省略該句,仍能關閉
help();
welcome();??//調用自已,用以回到歡迎界面
break;
}
}
}
void?help()
{
MOUSEMSG?m; //?定義鼠標消息
IMAGE?exit;
graphdefaults();????//重置視圖、當前點、繪圖色、背景色、線形、填充類型、字體為默認值
//?畫漸變的背景
initgraph(640?480);
float?h?=?0.0; //?色相
float?s?=?1; //?飽和度
float?l?=?0.7f; //?亮度
for(int?y?=?0;?y?480;?y++)????//彩虹背景色
{
h?+=?0.72;
l?+=?0.0005f;
setlinecolor(?HSLtoRGB(h?s?l)?);
line(0?y?639?y);
}
//提示框
setcolor(RGB(255?174?201));
setbkmode(TRANSPARENT);??????//字體透明背景
setlinestyle(PS_SOLID?10);
roundrect(40?40?600?440?50?50);?????//圓角矩形
LOGFONT?f;
//jokerman綠字提示
gettextstyle(&f);???//獲取當前字體設置字體樣式一定要在gettextstyle和settextstyle之間設置
_tcscpy(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-24?22:39??魔方資源\
?????目錄???????????0??2018-05-24?22:32??魔方資源\Release\
?????目錄???????????0??2018-05-24?22:32??魔方資源\Release\資源\
?????文件?????4058167??2016-03-23?17:12??魔方資源\Release\資源\background.mp3
?????文件???????34792??2016-03-23?21:08??魔方資源\Release\資源\Rubik.jpg
?????文件???????45410??2016-04-26?14:08??魔方資源\Release\資源\按鈕.jpg
?????文件???????51921??2016-04-26?14:03??魔方資源\Release\資源\按鈕(按下后).jpg
?????文件???????55974??2016-04-25?21:46??魔方資源\Release\資源\退出按鈕.jpg
?????文件??????147456??2016-05-04?13:13??魔方資源\Release\魔方還原.exe
?????文件???????14702??2016-05-04?16:44??魔方資源\作品簡介.docx
?????文件?????????314??2018-05-24?22:37??魔方資源\安裝說明書.txt
?????文件???????35557??2016-05-04?13:13??魔方資源\魔方還原.cpp
?????文件????????3427??2018-05-24?22:02??魔方資源\魔方還原.dsp
?????文件?????????524??2018-05-24?22:02??魔方資源\魔方還原.dsw
?????文件???????41984??2018-05-24?22:31??魔方資源\魔方還原.ncb
?????文件???????48640??2018-05-24?22:31??魔方資源\魔方還原.opt
?????文件????????1300??2018-05-24?22:31??魔方資源\魔方還原.plg
評論
共有 條評論