Win32 双人五子棋

Win32 双人五子棋思路

一.实现要求:
绘制一个14乘14的棋盘格,然后黑白两种棋子依次下棋,会判断谁先连成5子。

二.运行环境:
Visual C++6.0
基于Windows应用程序的基本框架(WinMain和WndProc函数)

三.基本思路:

  • 定义一个point结构体,用于存储棋盘中点的位置以及是否有棋子。
  • IsWin(int x, int y)函数判断是否连成五子。
1.连成五子的可能情况有4种情况:水平、垂直、左上到右下、左下到右上。
2.假设当前的子是五个子的末端,然后-4得到一种极端情况,然后这里要小心,如果小于0,要置为0;然后依次向后遍历判断是否有5子。
  • 修改WndProc()函数。
1. 在WM_CREATE消息中,计算好棋盘格各个点的坐标;
2. 在WM_MOSEMOVE消息中,实时记录鼠标的位置,以及该点属于哪个位置(可能有时候没有刚好点在交叉点上);
3. 在WM_LBUTTONDOWN消息中,用一个全局的flag记录当前下的子是黑/白,将当前位置送给IsWin()函数是否结束游戏;
4. 在WM_LBUTTONUP消息中,刷新界面;
5. 在WM_PAINT消息中,重绘棋盘以及棋子。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值