我想用C#winfrom做一个五子棋的游戏,请问一下怎样使鼠标点击一下出现一个棋子?

AAAAzzzz1f 2018-04-11 11:44:53
棋盘的坐标应该怎样确定呀
求大佬解答一下
...全文
1090 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
风吹腚腚凉 2018-04-17
  • 打赏
  • 举报
回复
引用 10 楼 u011785544 的回复:
我的思路是一个棋子是一个自定义控件 自定义控件有个状态 控制是否显示该棋子 程序总体有个记录 方便设置下一次显示的棋子是黑色还是白色 棋子未显示时 是一个小的十字,整个棋盘是由这些十字拼接而成,点击十字,设置棋子显示,这样一颗棋子就下好了
每一个棋子记录在矩阵里,观测矩阵里面是否有符合规则的棋子连线,笨的办法是全部遍历, 聪明的方法是遍历落子点的棋子,上下左右斜角是否有5个数字是一样的,黑子记0白的记1。
  • 打赏
  • 举报
回复
引用 10 楼 u011785544 的回复:
我的思路是一个棋子是一个自定义控件 自定义控件有个状态 控制是否显示该棋子 程序总体有个记录 方便设置下一次显示的棋子是黑色还是白色 棋子未显示时 是一个小的十字,整个棋盘是由这些十字拼接而成,点击十字,设置棋子显示,这样一颗棋子就下好了
这种做法就是前期很好,后期很累。 正确的做法是根据棋盘先生成一个虚拟的棋盘(19*19或可自定义)数组,然后根据规则计算这个数组的赢棋算法。 最后才是将这个数组渲染到gui,利用鼠标点击生成每一步的落子记录,根据落子记录变更渲染。 这样你最初就做好了赢棋判断,同时还实现了棋谱导入导出和悔棋等功能。
Veary 2018-04-17
  • 打赏
  • 举报
回复
我的思路是一个棋子是一个自定义控件 自定义控件有个状态 控制是否显示该棋子 程序总体有个记录 方便设置下一次显示的棋子是黑色还是白色 棋子未显示时 是一个小的十字,整个棋盘是由这些十字拼接而成,点击十字,设置棋子显示,这样一颗棋子就下好了
musewintter 2018-04-16
  • 打赏
  • 举报
回复
在form窗体设置鼠标点击事件 然后自己去试着慢慢调试位置
Veary 2018-04-16
  • 打赏
  • 举报
回复


我现在只差一个算法确定谁赢
  • 打赏
  • 举报
回复
简单来说,棋盘上每一个的坐标,其实就是左上角的 x,y 加上每一行的宽度和高度。但是有的人并不是这个肤浅的问题,而是没有建模、没有控件、没有事件处理问题。你自己一旦有一点设计,那么你的设计机制才决定了下一步的技术。
  • 打赏
  • 举报
回复
先把你现有的设计说明一下,你的基础决定了下一步的做法。
zzyhost 2018-04-15
  • 打赏
  • 举报
回复
面向对象、GDI+
desperaso 2018-04-14
  • 打赏
  • 举报
回复
五子棋不太懂,给个象棋、围棋的参考下 https://pan.baidu.com/s/1kUKZnSF
关中山水郎 2018-04-13
  • 打赏
  • 举报
回复
https://download.csdn.net/download/fsj43/9408341为什么不做成拖动的然后在设置位置?
xuzuning 2018-04-12
  • 打赏
  • 举报
回复
设棋盘 左边距 dx 上边距 dy 格线长 dw 则在 MouseDown(或 MouseUp)事件中 棋子中心x = (int)((e.X - dx)/dw) + dx; 棋子中心y = (int)((e.Y - dy)/dw) + dy;
内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧