基於Ubuntu下的QT製作黑白棋遊戲

2021-08-13 18:45:27 字數 3638 閱讀 7864

本文以begin為第一跳轉介面

第二跳轉介面(heibai)為people to people(人人對戰)

第三跳轉介面(heibai2)為people to computer(人機對戰)

三張效果圖如下:

各個頁面源**如下:

標頭檔案:

begin.h

#ifndef begin_h

#define begin_h

#include

#include

#include

#include

#include

#include

#include

namespace ui

//enum gridstate;

class begin : public qmainwindow

;private slots:

void on_pushbutton_clicked();

void on_pushbutton_2_clicked();

void put();

void put2();

void do_timer();

private:

ui::begin *ui;

heibai b;

heibai2 b2;

int sec;

};#endif // begin_h

heibai.h

#ifndef heibai_h

#define heibai_h

#include

#include

#include

#include

namespace ui

class heibai : public qwidget

;void mousepressevent(qmouseevent *e);

void mousemoveevent(qmouseevent *e);

int judgerule(int x, int y, int gridnum, void *chess, gridstate currentrole);

int judgerule2(int x, int y, int gridnum, void *chess, gridstate currentrole);

private:

ui::heibai *ui;

int sec;

qtimer *timer;

int chessnumber[8][8];

gridstate currentrole;

int xpoint,ypoint;

int blacknumber;

int whitenumber;

signals:

void give();

private slots:

void do_timer();

void do_timer2();

void on_pushbutton_clicked();

void on_pushbutton_3_clicked();

void on_pushbutton_4_clicked();

void on_pushbutton_5_clicked();

void on_pushbutton_7_clicked();

void on_pushbutton_8_clicked();};

#endif // heibai_h

heibai2.h

#ifndef heibai2_h

#define heibai2_h

#include

#include

#include

#include

namespace ui

class heibai2 : public qwidget

;void mousepressevent(qmouseevent *e);

void mousemoveevent(qmouseevent *e);

int judgerule(int x, int y, int gridnum, void *chess, gridstate currentrole);

int judgerule2(int x, int y, int gridnum, void *chess, gridstate currentrole);

~heibai2();

signals:

void give2();

private slots:

void do_timer();

void do_timer2();

void on_pushbutton_clicked();

void on_pushbutton_2_clicked();

void on_pushbutton_3_clicked();

void on_pushbutton_4_clicked();

void on_pushbutton_5_clicked();

void on_pushbutton_6_clicked();

void on_pushbutton_7_clicked();

private:

ui::heibai2 *ui;

int sec;

qtimer *timer;

int chessnumber[8][8];

gridstate currentrole;

int xpoint,ypoint;

int blacknumber;

int whitenumber;

};#endif // heibai2_h

begin.cpp

#include "begin.h"

#include "ui_begin.h"

#include "qpainter"

#include "qtimer"

begin::begin(qwidget *parent) :

qmainwindow(parent),

ui(new ui::begin)

begin::~begin()

void begin::put()

void begin::put2()

void begin::paintevent(qpaintevent *e)                 //background picture

void begin::on_pushbutton_clicked()

void begin::on_pushbutton_2_clicked()

heibai.cpp

heibai2.cpp

main.cpp

基於Qt的wifi智慧型小車的製作 一

基於qt的wifi智慧型小車的製作 一 好久不寫部落格了,真的是有點慚愧了。翻開上一次的部落格,到現在已經2個多月了,只能說是自己太懶惰了!忙是另一回事!趁今天晚上有點時間回顧下這一段時間的收穫以及做的一些東西,算是乙份筆記,一遍以後能回想起。首先說說開始做的一款wifi小車吧,一方面是因為個人的愛...

Ubuntu下安裝QT開發

我使用的作業系統是 ubuntu 10.0,使用目前最新版本的qt 4.4.0,安裝起來非常簡單,只要執行以下命令就行 sudo apt get install qt4 dev tools qt4 doc qt4 qtconfig qt4 demos qt4 designer qtcreator 注...

Ubuntu下QT安裝問題

在ubuntu下安裝完成qt之後,執行bin目錄下的qtconfig發現qt字型選項很少,能顯示中文字型的只有宋體和仿宋,且這兩種字型在顯示比11號小的中文時,中文只顯示一半,從網上查詢資訊,說是在配置時加上fontconfig選項,記錄下來。qt編譯流程 1 解壓並進入解壓後的資料夾 2 conf...