日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

三阶魔方自动还原 vc实现

發(fā)布時(shí)間:2025/7/25 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三阶魔方自动还原 vc实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 魔方自動(dòng)求解程序一般有兩種方法,一種是按照人還原魔方的步驟,一步步來(lái),另外一種是使用數(shù)學(xué)方法,魔方自有一套復(fù)雜的數(shù)學(xué)理論,其中較著名的是兩階段算法(壓縮文件中的cube430.exe使用的就是數(shù)學(xué)方法,程序作者便是two-phase算法發(fā)明人,文檔中有該算法的簡(jiǎn)介,遺憾的是沒(méi)有找到該程序的源碼)。

本程序使用的便是第一種方法。

?

程序界面仿wca的cube430.exe(文件夾中的wca-explorer.zip是這個(gè)程序的壓縮包)
程序還有bug,程序可能自動(dòng)生成一個(gè)ml文件,用以保存bug發(fā)生時(shí)的魔方狀態(tài)。但也可能是其他錯(cuò)誤。
如果你把自動(dòng)生成的ml文件(在bug文件夾中)或者錯(cuò)誤信息Email給我,我會(huì)非常感激。

?

歡迎批評(píng)和建議。

?

這個(gè)程序還不完善,現(xiàn)階段僅供學(xué)習(xí)之用:

  • 尚未加入還原手法輸出功能
  • 尚未實(shí)現(xiàn)魔方狀態(tài)有效性檢測(cè)
  • 實(shí)驗(yàn)方法:

  • 依次點(diǎn)擊界面中的按鈕:
    Cross:??在Front面實(shí)現(xiàn)Cross,然后把Cross轉(zhuǎn)到底面(x')
    L1Corner:?還原底層角塊
    L2Edge:?還原第二層棱塊
    TopCross:?建立頂層十字
    MatchCross:?對(duì)好十字
    BackTopCorner?頂層四角塊歸位
    RestoreTopCorener還原四角塊
  • rotate組合框中是幾個(gè)常用的魔方旋轉(zhuǎn)操作,但是太少,可以使用Excute按鈕前面的文本框輸入旋轉(zhuǎn)命令。命令名參考文件夾中的command-conventions.bmp中示意的命令名約定。
  • Reset按鈕重置魔方
  • Empty便于抄寫(xiě)魔方。點(diǎn)擊每個(gè)面這中間塊,則選中該塊顏色,點(diǎn)擊非中間塊,則該塊顏色被改為當(dāng)前選中顏色。由于尚未加入魔方有效性檢測(cè),如果改變顏色后使魔方無(wú)效,則程序會(huì)出錯(cuò)。
  • save和open按鈕用來(lái)保存和打開(kāi)魔方狀態(tài)文件(*.ml)
  • random打亂魔方狀態(tài)
  • solution按鈕相當(dāng)于連續(xù)執(zhí)行了步驟1 中提到的按鈕對(duì)應(yīng)的函數(shù)
  • ??? 本程序試圖使用兩套手法實(shí)現(xiàn)魔方還原,但現(xiàn)在只實(shí)現(xiàn)了一種(兩套手法的任意一種都能使程序正常運(yùn)行)。兩種手法的區(qū)別在于第三層的還原。前兩層是一樣的。
    第一種手法的Cross的實(shí)現(xiàn)使用的是當(dāng)前流行手法。其余的步驟用到的手法主要參考了文件夾中的“魔方教程.pdf”,作者是廈門(mén)大學(xué)的何美生。程序中的函數(shù)與教程中的步驟是一一對(duì)應(yīng)的。
    本程序使用到的資料在information文件夾中。

    ?

    下面幾個(gè)函數(shù)
    ?? //2:cfop
    ?? void HashOLL(char*);
    ?? bool IsTopFaceRestored(void);
    ?? void OLL(void);
    ?? void HashPLL(char*);//not finished
    ?? void PLL(void);
    ?? void CFOP(void);
    是第二套手法用到的函數(shù),其中的最后一步
    ?? void HashPLL(char*);//not finished
    ? ?void PLL(void);
    兩個(gè)函數(shù)尚未實(shí)現(xiàn)。

    ?

    經(jīng)驗(yàn)總結(jié):

  • 當(dāng)要處理的狀態(tài)是很多可能狀態(tài)之一,而識(shí)別出當(dāng)前的狀態(tài)是哪種狀態(tài)又比較困難時(shí),可以考慮構(gòu)造hash函數(shù),以區(qū)別每一種狀態(tài)。求出所有可能狀態(tài)的hash值和當(dāng)前狀態(tài)hash值,識(shí)別當(dāng)前狀態(tài)是哪種狀態(tài)時(shí)搜索hash值即可。本程序中第二種手法還原頂面時(shí)即用到該方法。使用狀態(tài)hash的方法,可以屏蔽掉狀態(tài)的復(fù)雜性。但是我想到這個(gè)方法時(shí),前面的程序已經(jīng)成型了,所以第一種方法實(shí)現(xiàn)時(shí)還是用了很多if-else或者switch,搞得頭暈。
  • 本程序在調(diào)試時(shí)也遇到了很大麻煩,不可能一開(kāi)始就設(shè)斷點(diǎn)調(diào)試的。后來(lái)采用的方法是每一個(gè)函數(shù)在出現(xiàn)問(wèn)題時(shí)保存當(dāng)前狀態(tài)成文件,然后打開(kāi)文件,繼續(xù)執(zhí)行時(shí)才在對(duì)應(yīng)函數(shù)中設(shè)斷點(diǎn)調(diào)試

    歡迎此類(lèi)經(jīng)驗(yàn)的交流,如果你想到或用到了其他的方法,歡迎跟大家一起分享。
  • ?

    源碼下載?http://download.csdn.net/source/2772692

    有些朋友下載后運(yùn)行不了,是我的失誤,如果你沒(méi)裝vs2008,可能運(yùn)行不了,因?yàn)関s2008編譯后的程序要用到mfc90.dll等幾個(gè)vs2008中的動(dòng)態(tài)鏈接庫(kù),而我在上傳時(shí)沒(méi)考慮到這點(diǎn)。那么暫時(shí)請(qǐng)用自己的編譯器重新編譯吧,把我的代碼只在cXDlg的頭文件和cpp文件中,很容易重新編譯的。

    至于解壓不了,應(yīng)該是下載時(shí)出現(xiàn)的錯(cuò)誤,請(qǐng)重新下載。

    ?

    程序運(yùn)行截圖:

    1.打亂?

    ?

    ?

    2.Cross:??在Front面實(shí)現(xiàn)Cross,然后把Cross轉(zhuǎn)到底面(x')

    ?

    3.L1Corner:?還原底層角塊

    ?

    4.L2Edge:?還原第二層棱塊

    ?

    5.TopCross:?建立頂層十字?

    ?

    6.MatchCross:?對(duì)好十字

    ?

    7.BackTopCorner?頂層四角塊歸位

    8.RestoreTopCorener還原四角塊

    ?

    ?

    先前用OpenGL寫(xiě)了一個(gè)三維魔方,但是不會(huì)自動(dòng)還原,而且沒(méi)有加入360°視角轉(zhuǎn)換和旋轉(zhuǎn)動(dòng)態(tài)。

    以后可能把自動(dòng)還原寫(xiě)成3d,這樣可以更直觀,更酷

    ?

    ?

    =====================================================

    更新:

    魔方自動(dòng)還原程序3D版本和2D 修正版已經(jīng)放出來(lái)了

    http://blog.csdn.net/onezeros/archive/2010/10/25/5964280.aspx

    總結(jié)

    以上是生活随笔為你收集整理的三阶魔方自动还原 vc实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲人xxx | 成人网导航 | 欧美肉丝袜videos办公室 | 日本a级网站 | 国产va在线观看 | 美女上床网站 | 亚洲图片一区二区三区 | 日本精品网站 | 露胸app| 精品无码av一区二区三区 | 爱臀av| 尤物在线观看视频 | 丰满少妇熟乱xxxxx视频 | 欧美在线三区 | 国产精品第九页 | 国产一级免费视频 | 欧美粗暴se喷水 | 国产www网站 | 强制憋尿play黄文尿奴 | 在线天堂资源 | a级小视频 | 天天色影网 | 9久久9毛片又大又硬又粗 | 国产日产欧美一区二区三区 | 日韩成人在线播放 | 老司机伊人| 国产啊啊啊啊 | 美女超碰 | h部分肌肉警猛淫文 | 久久yy| 国产精品成人一区二区 | 毛片基地在线观看 | 亚洲日皮| av解说在线观看 | 美日韩免费 | 成人羞羞国产免费 | 亚洲激情区 | 日韩精品国产一区 | 日本人和亚洲人zjzjhd | 久久人人爽人人爽人人片亚洲 | 久久五 | 午夜影院在线视频 | 熟女国产精品一区二区三 | 久久美女精品 | 日本黄色a视频 | 久久国产中文字幕 | 亚洲欧美自拍偷拍 | 国产一区不卡在线观看 | 朋友人妻少妇精品系列 | 久久免费看少妇高潮 | 草草影院在线观看视频 | 国产精品 欧美激情 | 中国人妖和人妖做爰 | 精品人妻无码一区二区三区 | 伊人影院亚洲 | 国产成人小视频在线观看 | 日韩精品视频观看 | 妺妺窝人体色www婷婷 | 青青草成人免费在线视频 | 国产黄色自拍视频 | 好吊日av| 黄色录像a| 激情小说亚洲图片 | www.av视频在线观看 | 久久中文字幕人妻 | 秘密基地免费观看完整版中文 | 亚洲激情a | 在线观看免费视频a | 绯色av一区 | 99在线视频免费观看 | 影音先锋资源av | www.射| 在线观看欧美日韩 | 黄色xxxx | 欧美三根一起进三p | 成人欧美一区二区三区在线观看 | heyzo朝桐光一区二区 | 亚洲免费三区 | 亚洲AV无码久久精品国产一区 | 手机看片日韩在线 | 小镇姑娘国语版在线观看免费 | 日韩性xxx| 精品久久久久久久久久久久久久久 | 中文字幕免费观看 | 免费视频二区 | 日日摸日日添日日碰9学生露脸 | 2019天天操 | 91艹| 丰满少妇一区二区三区视频 | 72pao成人国产永久免费视频 | 法国空姐在线观看视频 | 日韩一区二区三免费高清在线观看 | 国产小视频一区 | 日韩欧美在线观看 | 91精品国产麻豆国产自产在线 | 欧美日韩在线中文字幕 | 男人深夜影院 | 又黄又爽无遮挡 | 欧美肥老妇视频九色 |