广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt实现棋盘游戏
  • 546
分享到

Qt实现棋盘游戏

2024-04-02 19:04:59 546人浏览 安东尼
摘要

本文实例为大家分享了Qt实现棋盘游戏的具体代码,供大家参考,具体内容如下 知识点 1、画背景图、线条 2、qDebug()与QString联合使用 qDebug()<<Q

本文实例为大家分享了Qt实现棋盘游戏的具体代码,供大家参考,具体内容如下

知识点

1、画背景图、线条

2、qDebug()与QString联合使用

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

结果演示

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);//设置线宽
    pen.setColor("black");
    p.setPen(pen);//把笔交给画家

    //画网格
    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"));
    }


}

//重写鼠标按下事件
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
             checkY=(y-heightC)/heightC;//获取棋子Y

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

         update();
     }
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Qt实现棋盘游戏

本文链接: https://www.lsjlt.com/news/161597.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt实现棋盘游戏
    本文实例为大家分享了Qt实现棋盘游戏的具体代码,供大家参考,具体内容如下 知识点 1、画背景图、线条 2、qDebug()与QString联合使用 qDebug()<<Q...
    99+
    2022-11-12
  • Qt如何实现棋盘游戏
    小编给大家分享一下Qt如何实现棋盘游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!知识点画背景图、线条qDebug()与QString联合使用qDebug()&...
    99+
    2023-06-22
  • QT实现简单五子棋游戏
    本文实例为大家分享了QT实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 FIR.pro #----------------------------------------...
    99+
    2022-11-12
  • java实现马踏棋盘游戏
    用java实现马踏棋盘游戏算法,供大家参考,具体内容如下 在4399小游戏中有这样一个游戏 这是代码实现 package com.HorseChess; import java....
    99+
    2022-11-13
  • C语言实现三子棋游戏(棋盘可变)
    本文实例为大家分享了C语言实现三子棋游戏的具体代码,供大家参考,具体内容如下 思路: main函数结构部署 game函数功能的实现 ①创建存储空间 ②初始化存储空间为空格 ③打印棋盘...
    99+
    2022-11-12
  • 使用QT如何实现一个五子棋游戏
    今天就跟大家聊聊有关使用QT如何实现一个五子棋游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。FIR.pro QT    &nbs...
    99+
    2023-06-15
  • 基于Java实现马踏棋盘游戏算法
    马踏棋盘很好实现,但有时运行起来特别慢,还可能出不来结果,最常用的就是深度优先遍历+回溯,相信大家都学过数据结构,对图的深度遍历都有了解,下面就是代码的实现,如果对代码理解有困难,可...
    99+
    2022-11-13
  • 如何使用java实现马踏棋盘游戏
    小编给大家分享一下如何使用java实现马踏棋盘游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下在4399小游戏中有这样一个游戏这是代码实现packa...
    99+
    2023-06-29
  • Android实现象棋游戏
    本文实例为大家分享了Android实现象棋游戏的具体代码,供大家参考,具体内容如下 主要是实现两人对战象棋,没有实现人机对战,主要不会判断下一步棋走那个好,或者对每下一步棋进行打分而...
    99+
    2022-11-13
  • C#实现围棋游戏
    本文实例为大家分享了C#实现围棋游戏的具体代码,供大家参考,具体内容如下 之所以选择围棋作为大作业一方面是想挑战一下,另一方面是由于从6岁学围棋到11岁放下,再到今天已将近8年了,也...
    99+
    2022-11-13
  • python实现象棋游戏
    本文实例为大家分享了python实现象棋游戏的具体代码,供大家参考,具体内容如下 import math from turtle import * speed(0)   #调整画的...
    99+
    2022-11-11
  • python实现井字棋游戏
    本文实例介绍了python实现井字棋游戏的方法,分享给大家,具体内容如下 windows7下python3.4.0编译运行通过。由于采用了cmd调用,所以与Linux不兼容,无法在Linux下运行。 游戏就...
    99+
    2022-06-04
    游戏 python 井字棋
  • python实现三子棋游戏
    目录一、基本流程二、基本步骤1、菜单界面2、初始化棋盘、打印棋盘3、玩家落子4、电脑落子5、输赢判定三、整体代码四、结果展示三子棋的python实现代码,供大家参考,具体内容如下 一...
    99+
    2022-11-10
  • Java实现五子棋游戏
    本文实例为大家分享了Java实现五子棋游戏的具体代码,供大家参考,具体内容如下 一、功能分析 五子棋的实现还是较为简单的,通过下期的流程我们可以知道大概要实现一下功能: 1、格界面 ...
    99+
    2022-11-12
  • C#实现飞行棋游戏
    飞行棋主要是讲的方法怎么应用,充分的去理解方法和方法的调用,整体收获还是很大的。 我想的是说一下整体的思路。在编程的时间里,逻辑是最重要的,先干嘛后干嘛,对吧。 直接上个飞行棋的图,...
    99+
    2022-11-12
  • java实现四子棋游戏
    非常简单的四子棋游戏 本人是刚学java的小白,最近在书上看到了有关四子棋游戏的编程题,就试着来写一写,代码也比较简单。 思路 写四子棋的难点是如何判断四个棋子连在一起。 下面给出图...
    99+
    2022-11-11
  • Java实现三子棋游戏
    本文实例为大家分享了Java实现三子棋游戏的具体代码,供大家参考,具体内容如下 一、题目要求 编写程序,实现简单的三子棋游戏。在三子棋中,双方在3×3的棋盘中轮流下棋,一...
    99+
    2022-11-13
  • JavaSE实现三子棋游戏
    目录main函数棋盘模块设计玩家模块设计AI(电脑)模块设计游戏模块设计本文实例为大家分享了JavaSE实现三子棋游戏的具体代码,供大家参考,具体内容如下 用面向对象的思维把实现三子...
    99+
    2022-11-13
  • QT实现贪吃蛇游戏
    为了熟悉QT的相关知识,我用了大约8个小时的时间用QT再次写了一遍贪吃蛇。 因为QT的机制和平时写的程序流程不同,所以程序中可能没有遵守代码规范。 运行效果: 程序内除了实现贪吃蛇...
    99+
    2022-11-12
  • JavaScript+canvas实现五子棋游戏
    本文实例为大家分享了JavaScript+canvas实现五子棋游戏的具体代码,供大家参考,具体内容如下 效果截图: 代码实现: <!DOCTYPE html> &l...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作