本来想学学写象棋,不过看到同学用swing写了个五子棋,心里痒痒也就写了个。开始写的时候是想用qt的图形视图框架写,但是我对这个有点懵逼,就去网上找五子棋,看到了有人直接在在窗口上绘图写五子棋,于是就偷了个懒,copy了人家部分代码,然后自己改了改功能,和棋子的布局。不过,这只是一个人人对战的五子棋,水平不够,不会写人机对战。。。
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
Widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPaintEvent>
#include <QTimer>
#include <QDebug>
#include <QPainter>
#include <QMouseEvent>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent*);
void mousePressEvent(QMouseEvent*);
private:
int a[15][15];
int isWin(int x, int y);
int f1(int x, int y);
int f2(int x, int y);
int f3(int x, int y);
int f4(<