資料介紹
描述
使用數(shù)字的塑料滑動(dòng) 15 拼圖
滑動(dòng)拼圖歷史悠久。
這是一款用#CircuitPython為@Adafruit #PyBadge 和 PyBadge LC編寫的滑動(dòng)益智游戲。它使用圖片來拼圖,并疊加數(shù)字以使拼圖更容易解決。它是可配置的,因此可以使用不同的圖像,它支持 3×3(8 塊)和 4×4(15 塊)拼圖。Adafruit displayio庫(kù)中使用的平鋪圖形方法非常適合滑動(dòng)益智游戲。
這個(gè)怎么運(yùn)作

在初始設(shè)置和簿記之后,該程序有一個(gè)無限的 while 循環(huán)。它大致遵循狀態(tài)機(jī)模式,狀態(tài)為“介紹”、“設(shè)置”、“播放”和“已解決”。“intro”顯示拼圖圖像,然后要求玩家選擇 3×3 或 4×4 拼圖。一旦做出選擇,狀態(tài)就會(huì)轉(zhuǎn)換為“設(shè)置”。在此狀態(tài)下,拼圖被打亂并顯示打亂的拼圖。然后狀態(tài)轉(zhuǎn)換為“播放”。在“播放”中,程序會(huì)監(jiān)控上、下、左、右按鈕并相應(yīng)地移動(dòng)方塊。每次移動(dòng)后,都會(huì)檢查拼圖是否處于已解決的位置。如果是,則狀態(tài)轉(zhuǎn)換為“已解決”。一旦進(jìn)入“已解決”狀態(tài),程序會(huì)顯示“您贏了”消息,然后是完整圖像。然后它會(huì)無限期地等待,直到玩家按下開始返回“介紹”狀態(tài)并再次播放或關(guān)閉徽章。這軟件是開源的并發(fā)布在 GitHub 上。
關(guān)于可解決性的說明
如果一個(gè)人通過允許的隨機(jī)移動(dòng)來打亂謎題,那么謎題總是可以解決的,但是需要很多很多這樣的動(dòng)作才能使謎題隨機(jī)化。相反,如果只是隨機(jī)放置每個(gè)方塊,結(jié)果表明只有一半的可能排列可以滑回解決方案。借鑒別人的做法,我的代碼選擇了一個(gè)完全隨機(jī)的排列,然后檢查它是否可解(參見代碼中的“可解”函數(shù))。如果不是,它會(huì)再次隨機(jī)化拼圖,并重復(fù)此過程,直到找到可解決的排列。可溶性規(guī)則是:
- 如果網(wǎng)格寬度為奇數(shù)(例如,3×3),則可解情況下的反轉(zhuǎn)次數(shù)為偶數(shù)。
- 如果網(wǎng)格寬度是偶數(shù)(例如4×4),并且空白在從底部數(shù)起的偶數(shù)行(倒數(shù)第二個(gè),倒數(shù)第四個(gè)等),那么在可解情況下的反轉(zhuǎn)次數(shù)是奇數(shù)。
- 如果網(wǎng)格寬度是偶數(shù),并且空白位于從底部數(shù)起的奇數(shù)行(最后、倒數(shù)第三、倒數(shù)第五等),則可解情況下的反轉(zhuǎn)次數(shù)是偶數(shù)。
這篇文章頂部顯示的塑料滑塊拼圖無法解決。空白在從底部(第一行)開始的奇數(shù)行,并且只有一個(gè)反轉(zhuǎn),一個(gè)奇數(shù)。
如何玩游戲
要玩,只需將軟件加載到 PyBadge 上并打開它。顯示屏將首先顯示完整的拼圖圖像,然后要求您按“A”按鈕選擇 3×3(8 塊)拼圖或按“B”按鈕選擇 4×4(15 塊)拼圖。一個(gè)插槽始終是空的,以便可以移動(dòng)瓷磚。做出選擇后,您將看到拼圖圖片和拼圖塊,處于已解決狀態(tài),然后拼圖將被打亂以進(jìn)行游戲。4×4 拼圖比 3×3 拼圖難得多,需要更多的步驟來解決,但兩者都相當(dāng)容易練習(xí)。
使用 4 個(gè)方向按鈕一次滑動(dòng)一個(gè)方塊。目標(biāo)是讓方塊按數(shù)字順序排列,從左到右,從上到下,空白點(diǎn)在右下角。一旦你做到了這一點(diǎn),你就贏了!獲勝后顯示完整圖像后,您可以按開始按鈕重新玩。有時(shí)您需要按幾次按鈕。
卡???人類可以使用許多啟發(fā)式方法來解決這些難題(以及計(jì)算機(jī)的啟發(fā)式算法)。此處記錄了對(duì)我有用的方法。
更改拼圖圖像并創(chuàng)建自己的拼圖
parameters.py 文件存儲(chǔ)了幾個(gè)參數(shù),包括存儲(chǔ)拼圖圖像的文件夾的名稱。例如,要將圣誕老人拼圖更改為女巫拼圖,只需編輯以下行:puzzle_graphics_folder = “santa” 到 puzzle_graphics_folder = “witch”。我為拼圖提供了三組圖像:圣誕老人、女巫和情人節(jié)花卉圖像。
要制作您自己的拼圖,您需要?jiǎng)?chuàng)建 3 個(gè) bmp 圖像:
- 完整圖像,在新文件夾中保存為“full.bmp”
- 3×3 拼圖的圖塊圖像,在同一文件夾中另存為“tiles3.bmp”
- 4×4 拼圖的圖塊圖像,在同一文件夾中保存為“tiles4.bmp”
這些圖像的大小必須完全正確,程序才能運(yùn)行。完整圖像和 4×4 平鋪圖像必須為 160 像素寬 x 128 像素高。3×3 的平鋪圖像必須為 159 像素寬 x 126 像素高。
從完整圖像開始。要制作 4×4 平鋪圖像,請(qǐng)將圖像右下角的像素涂黑(x 坐標(biāo) 121 – 160,y 坐標(biāo) 96 – 128)。您還可以在每個(gè)圖塊上加上數(shù)字,以便更輕松地解決難題。為此,我使用圖像編輯程序添加一個(gè)帶有一組網(wǎng)格線的圖層,創(chuàng)建一個(gè) 4×4 網(wǎng)格。然后我把右下角的方塊涂黑,并在每個(gè)方塊的右上角寫上數(shù)字。然后我刪除網(wǎng)格層并將圖像保存為 bmp 文件。對(duì) 3×3 平鋪圖像執(zhí)行相同的過程,但首先將總圖像重新縮放為 159 x 126 并使用 3×3 而不是 4×4 網(wǎng)格。將這三個(gè)文件保存到新文件夾后,將 parameters.py 程序中的 puzzle_graphics_folder 行更改為指向新文件夾名稱。
- 一次性無菌注射器滑動(dòng)性測(cè)試儀
- Turning Lock轉(zhuǎn)鎖拼圖開源分享
- 基于STM32設(shè)計(jì)的拼圖小游戲
- 簡(jiǎn)易LC濾波器設(shè)計(jì)方案 84次下載
- HMC570LC571LC571LC572LC904LC904LC5制革
- 串口屏Modbus教程4_滑動(dòng)選擇和菜單選擇控件V1.0
- 大彩串口屏控件教程11 - 串口屏滑動(dòng)選擇控件應(yīng)用
- 一種圖像局部區(qū)域匹配驅(qū)動(dòng)的導(dǎo)航式拼圖方法 4次下載
- 基于MBNS滑動(dòng)窗口的多標(biāo)量乘快速算法 18次下載
- LabVIEW拼圖游戲的仿真與設(shè)計(jì)課程詳細(xì)說明 32次下載
- Delphi教程_奇妙的拼圖游戲 5次下載
- labview拼圖游戲程序 115次下載
- 滑動(dòng)變阻器演示實(shí)驗(yàn) 0次下載
- 滑動(dòng)摩擦力與相對(duì)速度的關(guān)系討論
- 動(dòng)滑動(dòng)摩擦因數(shù)的測(cè)試與應(yīng)用
- LC電路是如何產(chǎn)生振蕩的? 2012次閱讀
- LC振蕩電路原理詳解 3130次閱讀
- LC振蕩電路原理詳解 4.1w次閱讀
- 滑動(dòng)變阻器大小選擇 1.2w次閱讀
- 滑動(dòng)變阻器的正確連接方法 7.3w次閱讀
- 手機(jī)屏幕為什么要用皮膚接觸才能滑動(dòng) 9041次閱讀
- 滑動(dòng)變阻器的使用方法 4.7w次閱讀
- 滑動(dòng)變阻器的作用是什么 8w次閱讀
- 基于滑動(dòng)原理分選不同尺寸單細(xì)胞的微流控裝置 4578次閱讀
- lc振蕩電路和lc諧振電路有什么區(qū)別?lc振蕩電路的原理及特點(diǎn)詳解 9.2w次閱讀
- lc振蕩電路頻率怎么計(jì)算_lc振蕩電路頻率計(jì)算(計(jì)算公式) 7.2w次閱讀
- lc振蕩電路是如何起振的_lc振蕩電路起振條件及調(diào)試 3.4w次閱讀
- lc振蕩電路分析_lc振蕩電路工作原理及特點(diǎn)分析 12.4w次閱讀
- LC振蕩電路工作原理,LC串并聯(lián)電路匯總 2.9w次閱讀
- LC諧振頻率計(jì)算公式 LC串聯(lián)和并聯(lián)諧振頻率計(jì)算 35w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論