(一)QT實現中國象棋(棋盤實現)

2021-07-24 15:54:58 字數 1985 閱讀 4108

功能實現:1、包含兩個ui介面,登陸介面包含人機對戰和人人對戰;2、實現棋盤的編輯,都是使用qt自帶的類畫線,實現象棋棋盤線路。

1、新建工程的框架如下圖所示

void mainwindow::paintevent(qpaintevent *)                                   //繪製棋盤格線

//畫楚河漢界的兩條短垂直線

p.drawline(size,size*5,size,size*6);

p.drawline(size*9,size*5,size*9,size*6);

//畫棋盤的10條水平線

for(n=1;n<=10;n++)

p.drawline(size,size*n,size*9,size*n);//horizon

//畫棋盤「士」行走的斜線

p.drawline(size*4,size,size*6,size*3);              //斜線軌跡

p.drawline(size*6,size,size*4,size*3);

p.drawline(size*4,size*8,size*6,size*10);

p.drawline(size*6,size*8,size*4,size*10);

//畫楚河漢界

qpointf point(size*2.6, size*5.7);

p.setfont(qfont("arial", 30));

p.drawtext(point, "楚河            漢界");

(二)QT實現中國象棋(棋子實現)

簡介 第二部份主要功能是在棋盤上畫棋子,使用到幾個重要函式把陣列下標轉換為畫素等。1 工程中新增主要檔案如下所示 short num short x,short y,short size 將畫素轉化為陣列下標 else n 0 return n short posx short n,short si...

中國象棋 QT版

由於當時對象棋人工智慧非常感興趣,索性自己藉著實踐qt又重新開發了乙個。這個版本通過參考圖書館借的 c 中國象棋入門與提高 從頭到尾自己徹徹底底做了一遍,雖然到最後因為有別的事沒有把啟發式演算法寫入,總的來說打菜鳥還是很輕鬆的。其實工作量真的挺大的,ui 後台全由自己設計。演算法方面 1 棋子的走法...

中國象棋AI實現02

過了好幾個星期了,我的兩人結對專案已經結束,老師拿去給好多人玩了 得出的結論是太坑 有很多需要改進的地方,準備將它作為乙個長期的練手專案在後續的學習中不斷的改進吧!首先介紹一下基礎所需的知識點 需要掌握c語言 windows程式設計 資料結構 演算法導論中的一些內容 使用工具 我使用了一張560 6...