QT五子棋项目详解之二:人人对战

本文详细介绍了如何在QT项目中实现五子棋的人人对战功能。通过使用LCD_NUMBER控件处理时间,并设置定时器来判断游戏时间结束及玩家交替下棋。当鼠标释放后,超时函数会进行时间处理。黑棋落子后,系统会判断落子位置并在棋盘内更新玩家状态,然后更新界面。
摘要由CSDN通过智能技术生成




前面完成了界面的绘制,完成人人对战需要解决以下问题

一、时间

使用LCD_NUMBER控件来处理时间


时间处理的逻辑:

1、当时间结束,判负

一开始,建立两个定时器


1、黑白玩家交替执行,当黑棋玩家下完,黑棋的定时器停止,白棋的定时器开始。

void GameWindow::mouseReleaseEvent(QMouseEvent* event)

鼠标释放后

2、调用超时函数,时间处理完成




二、人人对战逻辑:

黑棋下棋后,触发mouseReleaseEvent

得到坐标x,y,判断在棋盘内下棋。并且将player++,player就用来标识是哪个玩家。

最后update()更新界面。

void GameWindow::mouseReleaseEvent(
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值