资源简介
本程序使用的是面向对象的QT库的C++语言,开发可以同时运行于Linux和Windows环境下的游戏程序。有双人对弈,人机对弈,无限悔棋等功能,其中人机对弈包含难度选择和先后手选择。
代码片段和文件信息
/*****************************************************************************
【功能描述】:“chessboard.cpp”完成棋盘的绘制及其更新
【参数描述】:
【作者】:袁其银
【创建日期】:2012.03.02
【完成日期】:2012.03.06
******************************************************************************/
#include “chessboard.h“
#include
#include
#include
#include
//====================================================================//
//【函数名称】ChessBoard::ChessBoard(QWidget *parent) :
// QWidget(parent)
//【函数功能】析构函数
//【参 数】无
//【返回值】无
//【完成日期】2012.03.06
//====================================================================//
ChessBoard::ChessBoard(QWidget *parent) :
QWidget(parent)
{
this->setMouseTracking(true);
}
//====================================================================//
//【函数名称】void ChessBoard::paintEvent(QPaintEvent *e)
//【函数功能】绘制棋盘
//【参 数】QPaintEvent *e
//【返回值】无
//【完成日期】2012.03.06
//====================================================================//
void ChessBoard::paintEvent(QPaintEvent *e)
{
black_num = 0 ;//黑子初始化
white_num = 0;//白子初始化
QPainter p(this);
//////////////////////////////
QPen pen;
pen.setstyle(Qt::SolidLine);
// pen.setWidth(3);
pen.setColor(QColor(000));
///////////////////////////
int row = 8;
int x =this->width();//宽
int y = this->height();
// qDebug()<<“this ->width =“< // qDebug()<<“this ->height =“< int size;
if(x>y)
size = y;
else size = x;
this->resize(sizesize);//
p.drawPixmap(00this->width()this->height()
QPixmap(“:/new/prefix1/b27feb35c6b7deaaa61e12d4.jpg“));
x =this->width();
y = this->height();//高
//qDebug()<<“=========this ->width =“< //qDebug()<<“=========this ->height =“< this->grid = y/(row);//
int lineWidth = grid/15;
pen.setWidth(lineWidth);
// qDebug()<<“grid = “< // qDebug()<<“pen.setWidth = “<<(grid/30);
this->starx= (y/grid)/2;
this->stary = (y/grid)/2;
int xend = y-starx;
int yend = this->stary;
p.setPen(pen);
int i;
for(i = 0; i< row+1; i++)
{
p.drawLine(this->starxthis->staryxendyend);
this->stary += grid;
yend += grid;
}
this->starx = (y/grid)/2;
this->stary = (y/grid)/2;
xend =this->starx;
yend = y-this->starx;
for(i = 0; i< row+1; i++)
{
p.drawLine(this->starxthis->staryxendyend);
this->starx += grid;
xend += grid;
}
this->starx = (y/grid)/2;
this->stary = (y/grid)/2;
typedef int (*per) [row];
// QStack stack;
for(int i=0; i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 343881 2009-07-30 18:54 heibai4\1e1e6022a957e4d3d7cae2ac.jpg
文件 186127 2009-08-26 19:42 heibai4\b27feb35c6b7deaaa61e12d4.jpg
文件 7061 2010-04-25 15:04 heibai4\black.png
文件 5514 2012-03-06 15:38 heibai4\chessboard.cpp
文件 1115 2012-03-06 15:23 heibai4\chessboard.h
文件 408 2012-03-04 14:50 heibai4\heibai4.pro
文件 21022 2012-05-02 01:16 heibai4\heibai4.pro.user
文件 7945 2012-03-11 18:29 heibai4\heibai4.pro.user.2.1pre1
文件 18815 2012-03-02 13:13 heibai4\ico.png
文件 51 2012-03-02 13:22 heibai4\ico.rc
文件 9662 2012-03-02 13:21 heibai4\ico1.ico
文件 290 2012-03-11 18:17 heibai4\jpg.qrc
文件 2354 2012-03-06 15:38 heibai4\main.cpp
文件 989 2012-03-03 10:39 heibai4\mainwindow.ui
文件 18222 2012-03-02 12:39 heibai4\star.jpg
..A.SH. 189952 2012-03-06 19:40 heibai4\Thumbs.db
文件 7936 2010-04-25 15:01 heibai4\white.png
文件 26765 2012-03-11 18:26 heibai4\widget.cpp
文件 1780 2012-03-06 17:01 heibai4\widget.h
文件 13066 2012-03-06 14:24 heibai4\widget.ui
目录 0 2012-05-07 00:05 heibai4
----------- --------- ---------- ----- ----
862955 21
评论
共有 条评论