• 大小: 1.63MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: 其他
  • 标签: qt  象棋  

资源简介

基于qt实现的简易象棋,代码实现较为简单,适合新手学习qt

资源截图

代码片段和文件信息

#include “chess.h“
#include “ui_chess.h“
#include
#include
using namespace std;
chess::chess(QWidget *parent) :
    QWidget(parent)
    ui(new Ui::chess)
{
    ui->setupUi(this);
    gameover=0;
    turn=1;
    Size=50;
    pos=0;
    win=0;
    memset(mm-1sizeof(mm));
    pp[0].kind=1;pp[0].x=4;pp[0].y=0;pp[0].red=1;mm[4][0]=0;
    pp[1].kind=2;pp[1].x=3;pp[1].y=0;pp[1].red=1;mm[3][0]=1;
    pp[2].kind=2;pp[2].x=5;pp[2].y=0;pp[2].red=1;mm[5][0]=2;
    pp[3].kind=3;pp[3].x=2;pp[3].y=0;pp[3].red=1;mm[2][0]=3;
    pp[4].kind=3;pp[4].x=6;pp[4].y=0;pp[4].red=1;mm[6][0]=4;
    pp[5].kind=4;pp[5].x=1;pp[5].y=0;pp[5].red=1;mm[1][0]=5;
    pp[6].kind=4;pp[6].x=7;pp[6].y=0;pp[6].red=1;mm[7][0]=6;
    pp[7].kind=5;pp[7].x=0;pp[7].y=0;pp[7].red=1;mm[0][0]=7;
    pp[8].kind=5;pp[8].x=8;pp[8].y=0;pp[8].red=1;mm[8][0]=8;
    pp[9].kind=6;pp[9].x=1;pp[9].y=2;pp[9].red=1;mm[1][2]=9;
    pp[10].kind=6;pp[10].x=7;pp[10].y=2;pp[10].red=1;mm[7][2]=10;
    pp[11].kind=7;pp[11].x=0;pp[11].y=3;pp[11].red=1;mm[0][3]=11;
    pp[12].kind=7;pp[12].x=2;pp[12].y=3;pp[12].red=1;mm[2][3]=12;
    pp[13].kind=7;pp[13].x=4;pp[13].y=3;pp[13].red=1;mm[4][3]=13;
    pp[14].kind=7;pp[14].x=6;pp[14].y=3;pp[14].red=1;mm[6][3]=14;
    pp[15].kind=7;pp[15].x=8;pp[15].y=3;pp[15].red=1;mm[8][3]=15;
    pp[16].kind=1;pp[16].x=4;pp[16].y=9;pp[16].red=-1;mm[4][9]=16;
    pp[17].kind=2;pp[17].x=3;pp[17].y=9;pp[17].red=-1;mm[3][9]=17;
    pp[18].kind=2;pp[18].x=5;pp[18].y=9;pp[18].red=-1;mm[5][9]=18;
    pp[19].kind=3;pp[19].x=2;pp[19].y=9;pp[19].red=-1;mm[2][9]=19;
    pp[20].kind=3;pp[20].x=6;pp[20].y=9;pp[20].red=-1;mm[6][9]=20;
    pp[21].kind=4;pp[21].x=1;pp[21].y=9;pp[21].red=-1;mm[1][9]=21;
    pp[22].kind=4;pp[22].x=7;pp[22].y=9;pp[22].red=-1;mm[7][9]=22;
    pp[23].kind=5;pp[23].x=0;pp[23].y=9;pp[23].red=-1;mm[0][9]=23;
    pp[24].kind=5;pp[24].x=8;pp[24].y=9;pp[24].red=-1;mm[8][9]=24;
    pp[25].kind=6;pp[25].x=1;pp[25].y=7;pp[25].red=-1;mm[1][7]=25;
    pp[26].kind=6;pp[26].x=7;pp[26].y=7;pp[26].red=-1;mm[7][7]=26;
    pp[27].kind=7;pp[27].x=0;pp[27].y=6;pp[27].red=-1;mm[0][6]=27;
    pp[28].kind=7;pp[28].x=2;pp[28].y=6;pp[28].red=-1;mm[2][6]=28;
    pp[29].kind=7;pp[29].x=4;pp[29].y=6;pp[29].red=-1;mm[4][6]=29;
    pp[30].kind=7;pp[30].x=6;pp[30].y=6;pp[30].red=-1;mm[6][6]=30;
    pp[31].kind=7;pp[31].x=8;pp[31].y=6;pp[31].red=-1;mm[8][6]=31;
}

chess::~chess()
{
    delete ui;
}
void chess::paint(int id)
{
    if(pp[id].dead)return ;
    QPainter painter(this);
    painter.setBrush(Qt::yellow);
    painter.setFont(QFont(“Timers“26QFont::Bold));
    painter.drawEllipse(100-Size/2+pp[id].x*Size100-Size/2+pp[id].y*SizeSizeSize);
    string ss;
    if(pp[id].red==1)
    {
        if(pp[id].kind==1)ss=“帅“;
        else if(pp[id].kind==2)ss=“仕“;
        else if(pp[id].kind==3)ss=“相“;
        else if(pp[id].kind==4)ss=“馬“;
        else if(pp[id].kind==5)ss=“車“;
        else if(pp[id].kind==

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-23 19:08  xiangqi\
     文件       10028  2017-07-23 19:08  xiangqi\chess.cpp
     文件         689  2017-07-13 23:24  xiangqi\chess.h
     文件        2278  2017-07-13 23:30  xiangqi\chess.ui
     文件         173  2017-07-12 20:39  xiangqi\main.cpp
     文件     1713444  2017-07-11 09:17  xiangqi\p.png
     文件        3608  2017-07-13 22:48  xiangqi\piece.cpp
     文件         366  2017-07-13 22:13  xiangqi\piece.h
     文件        1099  2017-07-13 23:32  xiangqi\xiangqi.pro
     文件      123928  2017-07-23 19:08  xiangqi\xiangqi.pro.user
     文件         100  2017-07-13 23:33  xiangqi\xx.qrc

评论

共有 条评论