资源简介
实现了人人,人机对战;具有悔棋,托管,跳出,重开,投降等功能;精致的UI设计;搜索式算法设计;

代码片段和文件信息
#include “chessboard.h“
#include “ui_chessboard.h“
#include
#include
#include
#include
#include
#include
#include
#include
int page = 0; //三维数组的第一个参数(全局变量)
//====================================================================================
//构造函数
//====================================================================================
ChessBoard::ChessBoard(QWidget *parent) :
QWidget(parent)
ui(new Ui::ChessBoard)
{
init(); //构造函数初始化
}
//=====================================================================================
//静态变量定义区
//=====================================================================================
int ChessBoard::flag = 0;
int ChessBoard::loop = 0;
int ChessBoard::black_eat_num = 0;
int ChessBoard::white_eat_num = 0;
int ChessBoard::a =0;
int ChessBoard::b =0;
int ChessBoard::c = 0;
int ChessBoard::row = 0;
int ChessBoard::col = 0;
int ChessBoard::color_flag = 0;
//===================================================================================
//函数的原型: init()
//函数的功能:构造函数初始化
//函数的调用:在构造函数中调用
//===================================================================================
void ChessBoard::init()
{
ui->setupUi(this);
this->setMouseTracking(true); //加上这句话,就不必要按下鼠标才能判断移动坐标.
this->startX =0; //初始化x和y的值
point.setX(-1);
point.setY(-1);
this->setCursor(QCursor(QPixmap(“../image/ssblack.bmp“)));
//设置鼠标点击前,出现黑子
for(a=0;a<8;a++) //给二维数组赋初值
{
for(b=0;b<8;b++)
{
chess[a][b] = 2;
}
}
count_black = 0; //初始化
count_white = 0; //初始化
show_mid_fourchess(); //调用函数打印出棋盘中间四格的棋子
for(a=0;a<8;a++) //将中间四颗棋子的位置赋给虚拟二维数组和三维数组
{
for(b=0;b<8;b++)
{
chess_regret[page][a][b] = chess_two[a][b] = chess[a][b];
}
}
ttime = new QTimer;
ttime->start(10); //ms
if(flag == 1) //当人机对战时,链接槽,实现timeout()就调用TTimer()函数
{
connect(ttimeSIGNAL(timeout())thisSLOT(TTimer()));
}
}
//===================================================================================
//函数的原型:begin_chess()
//函数的功能:初始化棋盘
//函数的调用:在mygame.cpp里面重新开局按钮on_pushButton_start_again_clicked()里面被调用
//===================================================================================
void ChessBoard::begin_chess() //初始化棋盘
{
for(a=0;a<8;a++) //给二维数组赋初值
{
for(b=0;b<8;b++)
{
chess[a][b] = 2;
}
}
count_black = 0; //初始化
count_white = 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-25 10:07 精简版黑白棋\
目录 0 2012-09-18 09:01 精简版黑白棋\demo\
文件 7358 2012-09-09 18:12 精简版黑白棋\demo\black.ico
文件 45 2012-09-09 18:13 精简版黑白棋\demo\black_white_chess.rc
文件 22038 2012-09-11 11:09 精简版黑白棋\demo\chessboard.cpp
文件 3165 2012-09-10 16:30 精简版黑白棋\demo\chessboard.h
文件 404 2012-09-03 11:16 精简版黑白棋\demo\chessboard.ui
文件 2567 2012-09-01 17:18 精简版黑白棋\demo\judge.cpp
文件 396 2012-09-05 13:56 精简版黑白棋\demo\main.cpp
文件 17337 2012-09-15 22:14 精简版黑白棋\demo\mygame.cpp
文件 2165 2012-09-09 21:32 精简版黑白棋\demo\mygame.h
文件 73577 2012-09-10 20:06 精简版黑白棋\demo\mygame.ui
文件 553 2012-09-10 17:34 精简版黑白棋\demo\task_bw_chess.pro
文件 5194 2012-09-05 11:58 精简版黑白棋\demo\widget.cpp
文件 662 2012-09-05 10:33 精简版黑白棋\demo\widget.h
文件 22793 2012-09-06 17:24 精简版黑白棋\demo\widget.ui
目录 0 2012-09-18 09:04 精简版黑白棋\image\
文件 18030 2012-08-22 17:37 精简版黑白棋\image\1.jpg
文件 354966 2012-09-04 19:41 精简版黑白棋\image\21.gif
文件 7061 2010-04-25 15:04 精简版黑白棋\image\black.png
文件 146283 2012-08-31 13:46 精简版黑白棋\image\fengshu.jpg
文件 166084 2012-08-31 13:48 精简版黑白棋\image\gudian.jpg
文件 123554 2012-08-31 14:10 精简版黑白棋\image\m.jpg
文件 309921 2012-08-31 14:06 精简版黑白棋\image\qq.jpg
文件 362545 2012-08-31 14:06 精简版黑白棋\image\r.jpg
文件 3168 2012-09-03 08:56 精简版黑白棋\image\sblack.bmp
文件 3848 2012-09-03 09:05 精简版黑白棋\image\ssblack.bmp
文件 4064 2012-09-03 09:06 精简版黑白棋\image\sswhite.bmp
文件 3012 2012-09-03 08:57 精简版黑白棋\image\swhite.bmp
文件 45568 2012-09-18 09:04 精简版黑白棋\image\Thumbs.db
文件 287331 2012-08-31 14:07 精简版黑白棋\image\u.jpg
............此处省略21个文件信息
相关资源
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- 黑白棋(带简单AI)
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- 电梯模拟程序C/C 算法实现
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
- Linux系统教材
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- SA1110处理器掌上电脑液晶显示器设计
评论
共有 条评论