欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt實(shí)現(xiàn)棋盤游戲

 更新時(shí)間:2022年01月05日 09:01:51   作者:唐維康  
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)棋盤游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Qt實(shí)現(xiàn)棋盤游戲的具體代碼,供大家參考,具體內(nèi)容如下

知識(shí)點(diǎn)

1、畫背景圖、線條

2、qDebug()與QString聯(lián)合使用

qDebug()<<QString("(%1,%2)").arg(checkX).arg(checkY);

結(jié)果演示

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
? ? Q_OBJECT

public:
? ? explicit Widget(QWidget *parent = 0);
? ? ~Widget();

private:
? ? void paintEvent(QPaintEvent *ev);
? ? void mousePressEvent(QMouseEvent *ev);
? ? int startX;
? ? int startY;
? ? int widthC;
? ? int heightC;
? ? int checkX;
? ? int checkY;

private:
? ? Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QPaintEvent>
#include <QMouseEvent>
#include <QPen>
#include <QMessageBox>
#include <QDebug>

Widget::Widget(QWidget *parent) :
? ? QWidget(parent),
? ? ui(new Ui::Widget)
{
? ? ui->setupUi(this);
? ? resize(700,400);

? ? checkX=-1;
? ? checkY=-1;
}

void Widget::paintEvent(QPaintEvent *ev){
? ? //畫背景圖
? ? QPainter p(this);
? ? p.drawPixmap(rect(),QPixmap(":/new/prefix1/image/Frame.jpg"));

? ? QPen pen;
? ? pen.setWidth(4);//設(shè)置線寬
? ? pen.setColor("black");
? ? p.setPen(pen);//把筆交給畫家

? ? //畫網(wǎng)格
? ? widthC=width()/10;
? ? heightC=height()/10;
? ? startX=widthC;
? ? startY=heightC;

? ? for(int i=0;i<9;i++){
? ? ? ? p.drawLine(startX,startY+i*heightC,startX+8*widthC,startY+i*heightC);//畫9條橫線
? ? ? ? p.drawLine(startX+i*widthC,startY,startX+i*widthC,startY+8*heightC);//畫9條豎線
? ? }

? ? //畫棋子
? ? if(checkX!=-1&&checkY!=-1){
? ? ? ? p.drawPixmap(startX+checkX*widthC,startY+checkY*heightC,widthC,heightC,QPixmap(":/new/prefix1/image/LuffyQ.png"));
? ? }


}

//重寫鼠標(biāo)按下事件
void Widget::mousePressEvent(QMouseEvent *ev){

? ? ?if(ev->button()==Qt::LeftButton){//左擊才顯示
? ? ? ? ?int x=ev->x();
? ? ? ? ?int y=ev->y();

? ? ? ? ?//保證不越界
? ? ? ? ?if(x>=startX&&x<=startX*9&&y>=startY&&y<=startY*9){
? ? ? ? ? ? ?checkX=(x-widthC)/widthC;//獲取棋子X(jué)
? ? ? ? ? ? ?checkY=(y-heightC)/heightC;//獲取棋子Y

? ? ? ? ? ? ?qDebug()<<QString("(%1,%2)").arg(checkX).arg(checkY);
? ? ? ? ?}

? ? ? ? ?update();
? ? ?}
}

Widget::~Widget()
{
? ? delete ui;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)經(jīng)典掃雷小游戲的示例代碼

    C語(yǔ)言實(shí)現(xiàn)經(jīng)典掃雷小游戲的示例代碼

    掃雷游戲是在一個(gè)指定的二維空間里,隨機(jī)布置雷,把不是雷的位置都找出來(lái),在你點(diǎn)一個(gè)位置的時(shí)候它會(huì)顯示它周圍全部雷的個(gè)數(shù),根據(jù)這個(gè)線索去找 ,會(huì)更容易贏。本文將用C語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,感興趣的可以嘗試一下
    2022-11-11
  • 深入解析C++編程中的純虛函數(shù)和抽象類

    深入解析C++編程中的純虛函數(shù)和抽象類

    這篇文章主要介紹了深入解析C++編程中的純虛函數(shù)和抽象類,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語(yǔ)言中 & 和 &&的區(qū)別詳解

    C語(yǔ)言中 & 和 &&的區(qū)別詳解

    這篇文章主要介紹了C語(yǔ)言中 & 和 &&的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 簡(jiǎn)單解讀C++中的虛函數(shù)

    簡(jiǎn)單解讀C++中的虛函數(shù)

    這篇文章主要介紹了C++中的虛函數(shù),在C++中,虛函數(shù)聯(lián)系到多態(tài)、多態(tài)聯(lián)系到繼承,因而虛函數(shù)是C++中的一大重要特性,需要的朋友可以參考下
    2016-04-04
  • C++中使用cout以hex格式輸出方式

    C++中使用cout以hex格式輸出方式

    這篇文章主要介紹了C++中使用cout以hex格式輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++開發(fā)protobuf動(dòng)態(tài)解析工具

    C++開發(fā)protobuf動(dòng)態(tài)解析工具

    這篇文章主要為大家介紹了C++開發(fā)protobuf動(dòng)態(tài)解析工具實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 一篇文章帶你了解C++面向?qū)ο缶幊?-繼承

    一篇文章帶你了解C++面向?qū)ο缶幊?-繼承

    這篇文章主要介紹了解析C++面對(duì)象編程--繼承的運(yùn)用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-08-08
  • C語(yǔ)言實(shí)現(xiàn)大學(xué)生考勤管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)大學(xué)生考勤管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)大學(xué)生考勤管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的方法示例

    C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的方法示例

    這篇文章主要給大家介紹了關(guān)于如何利用C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • C語(yǔ)言中花式退出程序的方式總結(jié)

    C語(yǔ)言中花式退出程序的方式總結(jié)

    在本篇文章當(dāng)中主要給大家介紹C語(yǔ)言當(dāng)中一些不常用的特性,比如在main函數(shù)之前和之后設(shè)置我們想要執(zhí)行的函數(shù),以及各種花式退出程序的方式,需要的可以參考一下
    2022-10-10

最新評(píng)論