我們要通過AI類計(jì)算下一步棋該如何走的話就必需讓AI獲得當(dāng)前棋盤上棋子的局勢(shì)、輪到誰執(zhí)棋等各種棋盤上的信息,而這種信息都可以從LayerGame...
悔棋需要用到備忘錄模式。大致思路是:我們先創(chuàng)建一個(gè)Step結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體記錄著兩個(gè)棋子的id(一個(gè)是移動(dòng)棋子,一個(gè)是被殺棋子)、移動(dòng)前行列,...
有做完上一篇的同學(xué)會(huì)發(fā)現(xiàn),移動(dòng)棋子存在很多bug,這也是正常,我們只是寫了移動(dòng)的規(guī)則,具體的細(xì)節(jié)并沒有完善,在這一篇我們就來把移動(dòng)棋子完善一下。...
我們?cè)谶x中棋子之后理所當(dāng)然就是要移動(dòng)棋子,要移動(dòng)棋子我們不知需要知道選中的棋子點(diǎn)信息,還需要知道選中棋子后玩家下一次點(diǎn)擊屏幕的觸摸點(diǎn)信息。知道兩...
要獲取和選中棋子我們需要要在原來LayerGameMain基礎(chǔ)上添加多三個(gè)成員變量和六個(gè)成員函數(shù)。幾個(gè)函數(shù)和變量間依賴性比較高,大體實(shí)現(xiàn)功能分為...
擺棋看起來可能會(huì)有點(diǎn)煩,但是棋子亂擺的話后面會(huì)很難管理,所以還是要沉下心把棋子按一定規(guī)則擺好。 為了擺棋更方便,我們需要再給Stone類添加多兩...
在這里我們需要給Stone類添加多幾個(gè)成員變量以方便后面解決棋子擺放問題。 bool _red 顏色標(biāo)記,判斷當(dāng)前棋子是否為紅棋 int _ro...
寫案例是學(xué)習(xí)較快的途徑。為了快速適應(yīng)cocos2d-x_3.14.1版本,我決定將原來cocos2d-x_2.2.6版本的一個(gè)中國象棋案例代碼修...