電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino超級(jí)國(guó)際象棋

Arduino超級(jí)國(guó)際象棋

2022-10-18 | zip | 0.11 MB | 次下載 | 免費(fèi)

資料介紹

描述

在我的 Arduino 項(xiàng)目仍然無(wú)人認(rèn)領(lǐng)觸摸屏之后,我決定實(shí)現(xiàn)我兒時(shí)的夢(mèng)想,創(chuàng)建一個(gè)國(guó)際象棋程序。幾個(gè)月后它贏了我,但這沒(méi)什么大不了的,因?yàn)槲覜](méi)有任何國(guó)際象棋等級(jí),只是業(yè)余的。

該項(xiàng)目使用 Arduino Mega 2560,因?yàn)?Uno 上缺少可操作內(nèi)存、2.8 英寸觸摸屏、無(wú)源蜂鳴器和大約 2000 行代碼。

dsc00467_PoC89Gk3vq.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

程序使用Negamax算法,迭代深化,某種殺手啟發(fā)式,時(shí)間控制。由于明顯的原因,沒(méi)有任何位板或哈希。評(píng)估功能比較復(fù)雜,但不會(huì)太多,反正除了材料之外,它計(jì)算人物活動(dòng),國(guó)王安全,棋子結(jié)構(gòu)。求解速度約為每秒 100-200 個(gè)節(jié)點(diǎn)。

游戲是根據(jù)國(guó)際象棋規(guī)則,包括過(guò)路,易位,典當(dāng)升級(jí)。平局也確定了。如果沒(méi)有看到任何有效的逃脫將死,算法也可能會(huì)放棄。

板子是可旋轉(zhuǎn)的,一步一步拖放,可以退一步??梢园才懦跏嘉恢茫驈拇?a target='_blank' class='arckwlink_none'>端口以 FEN 格式加載。國(guó)際象棋游戲可以保存在 EEPROM 中并稍后下載,或以快速模式重播。

有一個(gè)將死搜索機(jī)制來(lái)解決國(guó)際象棋問(wèn)題。

dsc00470_VPTGqgaQbc.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

3步找到將死

通過(guò)選擇平均思考時(shí)間 10sec - 30sec -1min - 3min 10min - 30min - 無(wú)限制來(lái)給出算法級(jí)別。10 秒的游戲?qū)ξ襾?lái)說(shuō)已經(jīng)足夠了,但可能會(huì)在 endspiel 或地平線效應(yīng)中出現(xiàn)一些問(wèn)題。在 1 分鐘內(nèi),我什至沒(méi)有嘗試獲勝——可能只是缺乏勤奮。

如果有人喜歡重復(fù)這個(gè)項(xiàng)目,并且屏幕不是同一型號(hào),我認(rèn)為校準(zhǔn)觸摸屏很困難,需要調(diào)整坐標(biāo)變換系數(shù)。稍后我將在更常見(jiàn)和更大的 3.5 英寸觸摸屏上重新制作草圖。

抱歉裝飾不佳 - 這是我的第一個(gè)公共項(xiàng)目。

感謝您的關(guān)注。

更新:2018 年 2 月 6 日:

正如我所承諾的,將草圖更新為 3.5 英寸 MCUFRIEND 觸摸屏 320x480 像素。添加了新的變種。

dsc00477_B3DDVhllBF.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

更新:2018 年 2 月 25 日:

GUI按鈕說(shuō)明:

開(kāi)始/停止- 開(kāi)始/停止 arduino 思考當(dāng)前步驟和制作步驟,停止不是立即的

白/黑棋子- 顯示現(xiàn)在播放的顏色,可變的

曲線箭頭 - 采取最后一步

10 秒.... - 選擇 arduino 意味著思考時(shí)間,在困難的情況下可能會(huì)超過(guò)兩倍,這是難度級(jí)別,從最簡(jiǎn)單到最難 10 秒 - 30 秒 - 1 分鐘 - 3 分鐘 - 10 分鐘 - 30 分鐘 - 無(wú)限制。困難級(jí)別我的意思是很難等待:)

黑/白迷你棋盤- 旋轉(zhuǎn)棋盤

問(wèn)號(hào) - Check Mate search 模式,用于解決國(guó)際象棋問(wèn)題,在此模式下算法只找到將死,在合理的時(shí)間內(nèi) 3-4 步,最多 6-7 步,沒(méi)有時(shí)間限制

Cellule board - 開(kāi)啟模式排列初始位置,打開(kāi)人物列表(按前面解釋過(guò)的棋子可以改變顏色),當(dāng)前人物通過(guò)選擇改變,可以通過(guò)按下單元格放置在板上,如果當(dāng)前人物為空,則單元格被清除盒子。

揚(yáng)聲器- 打開(kāi)聲音或靜音(幾乎)。

在排列位置模式中出現(xiàn)了額外的按鈕:

USB(FEN) - 從 USB 端口以 FEN 格式加載位置

開(kāi)始棋位- 開(kāi)始新的游戲

空板位置- 安排自定義位置

Running man - 從第一步快速重放位置,可能會(huì)停止

方形箭頭- 將當(dāng)前游戲保存在 EEPROM(arduino 的非易失性存儲(chǔ)器)中

箭頭到正方形 -從 EEPROM 加載游戲(之前保存)

關(guān)于如何玩 - 只需拖放圖形正確的顏色,非法步驟將不會(huì)做。使易位在易位后將國(guó)王移動(dòng)到最后一個(gè)位置。

更新:2018 年 3 月 9 日:

添加了 Arduino DUE 變體 320x480。

dsc00484_KNhb0DIBUh.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

Arduino Mega Chess on DUE

使用 MCUFRIEND 3.5 英寸觸摸屏 ILI9486 和 Bodmer TFT_HX8357_Due 庫(kù)

https://github.com/Bodmer/TFT_HX8357_Due

修改為支持 ILI9486。帶有 URTouch 庫(kù)的觸摸屏 XPT2046。

EEPROM 被 DueFlashStorage 取代

https://github.com/sebnil/DueFlashStorage

添加了一些改進(jìn) - GUI(由于缺少readPixel功能而替換了更簡(jiǎn)單的離散移動(dòng)),添加了 3 秒模式,因?yàn)榕c Arduino 相比,算法的加速度大約是 5 倍,并且求解樹(shù)的最大深度增加了。

蜂鳴器也移至針腳 12。

更新:2018 年 3 月 15 日:

要在等待 5 秒后從棋盤的另一側(cè)添加自動(dòng)答案(可能會(huì)向后移動(dòng)),請(qǐng)?jiān)?loop() 過(guò)程中添加此粗體字符串

環(huán)形() {

gui();

if (!solving && rotate==cur_step%2 && millis()-lasttouch>5000) {solving=true; 最后觸摸=毫秒();}

如果(解決){

更新:2018 年 3 月 16 日:

草圖更新到 1.1 版。

更改日志:

等待 5 秒后從棋盤的另一側(cè)自動(dòng)播放。

算法發(fā)揮不太明確 - 增加了選擇具有相同估計(jì)的不同移動(dòng)的概率,而不是單個(gè)確定移動(dòng)。

一些小的改進(jìn)。

一些新的故障:)

現(xiàn)在正在開(kāi)發(fā)具有 3 按鈕界面且無(wú)觸摸屏的國(guó)際象棋項(xiàng)目,著眼于在 M5Stack 上使用。

更新:2018 年 3 月 22 日:

草圖更新到 1.2 版。

更改日志:

僅在首次亮相時(shí)自動(dòng)選擇不同動(dòng)作的概率 - 改變首次亮相而不是削弱主要游戲

更新:2018 年 3 月 30 日:

現(xiàn)在正在處理新項(xiàng)目 - 適應(yīng) M5Stack 的國(guó)際象棋。缺少觸摸屏、3 個(gè)按鈕界面、2 英寸屏幕太小...... GUI 全新,提供允許移動(dòng)以選擇 3 個(gè)按鈕。圖形藝術(shù)也更新了,根據(jù)小屏幕。

測(cè)試顯示,與 arduino 相比,速度提高了大約 15 倍。進(jìn)行中...

dsc07442_J6D9I0vdZJ.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

M5Stack 上的 Arduino 大型國(guó)際象棋

更新:2018 年 4 月 2 日:

草圖更新到 1.3 版。

更改日志:

穩(wěn)定性改進(jìn),評(píng)估功能調(diào)整

更新:2018 年 4 月 10 日:

用于 M5Stack 的 Arduino 大型國(guó)際象棋

更新: 2018年 9 月25 日

為了項(xiàng)目的完整性,我嘗試制作 3D 打印案例。作為移動(dòng)電源,它將使用一節(jié)18650鋰電池,并由5v輸出DC-DC適配器/充電器供電,工作時(shí)間可能超過(guò)10小時(shí)。外殼尺寸也足以容納 3.5 英寸觸摸屏,至少我有一個(gè)版本,只有外殼蓋需要更換。

arduinomegachess_case_YNMcxP1ZZw.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

2.8英寸觸摸屏外殼

打印后,2.8 屏幕的觸摸屏窗口大小似乎有點(diǎn)額外,并且與我的 3.5 MCUFfriend 觸摸屏相對(duì)應(yīng),如圖所示。電源仍然來(lái)自 USB,因?yàn)槌潆娖髂K正在開(kāi)發(fā)中。

20180925_133326_9DsQsrlN0F.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

內(nèi)有 3.5 英寸觸摸屏的外殼

更新:2019 年 2 月 21 日:

添加了新項(xiàng)目 ESP32 國(guó)際象棋引擎

esp32_engine_1_min_elo_lzuSEeJjIM.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

ESP32 國(guó)際象棋引擎在 Elometer 上測(cè)試

將來(lái)可能會(huì)與 Arduino Mega 國(guó)際象棋 GUI 結(jié)合使用。

更新: 2019 年3 月 12 日:

此外,我嘗試將 esp32 的國(guó)際象棋引擎用于 arduino mega。最后,它適合有限的 arduino 內(nèi)存,每個(gè)位置 2 分鐘顯示 1995 ELO 評(píng)級(jí)。結(jié)合 GUI 會(huì)減慢一點(diǎn),但不會(huì)太多,大約 10-30%,計(jì)算速度約為 500-1000 nps。

dsc00479_rC6UVklKNp.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

WAC.009 測(cè)試

更新: 2019 年3 月 21 日:

Arduino Mega Chess II 正在進(jìn)行中。令我驚訝的是,在 Elometer.net 上以最快的模式測(cè)試 1926 ELO raiting - 每個(gè)位置 5 秒 - 與我自己的可能性相去甚遠(yuǎn)。它位于 16 Mhz 8 位芯片上,具有 8K 操作內(nèi)存!

這個(gè)版本有可能自動(dòng)玩自己,如果沒(méi)有找到逃脫將死的方法,algorythm可以放棄。首次亮相模式的播放并非嚴(yán)格確定 - 有一些隨機(jī)變化。仍然沒(méi)有打開(kāi)的書(shū)。

GUI 有 2 種可能的圖形分辨率 - 480x320 和 320x240 像素。Alpha測(cè)試仍在進(jìn)行中...

dsc00481_uFy68F4zxx.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

雙面自動(dòng)播放模式

更新: 2019 年 4月 26 日:

所以,現(xiàn)在我介紹Arduino Mega Chess II

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)