有一个不规则棋盘,我用图存放 点集,边集(起点,终点)。棋子的移动规则是每次走一步,但两点间必须有连线。
选中点A上的一个棋子,然后点另一个点B,如何判断能否从A移动到B?我的想法是先判断A,B的X坐标和Y坐标的距离是不是大于1,大于1则不能移动
再判断A,B是否同在一条边上。
但没想到有什么简单的办法能到判断A,B是否在同一条边上。
选中点A上的一个棋子,然后点另一个点B,如何判断能否从A移动到B?我的想法是先判断A,B的X坐标和Y坐标的距离是不是大于1,大于1则不能移动
再判断A,B是否同在一条边上。
但没想到有什么简单的办法能到判断A,B是否在同一条边上。
解决方案 »
- MFC界面参数传递问题
- 求助:C++ string 类 结构体 的输入输出问题
- directshow 录音录像 怎么同步啊
- win32 Api 下 SetWindowText()怎样实现换行????????
- 给线程发消息,提示内存不足
- 用VC怎样实现一个防火墙程序
- 没有column header的CListCtrl的数据添加
- 我自己向工作区中添加已有的类(***.h和***.cpp),但我想修改这个类时,在classwizard中没有,怎么解决?谢谢!
- 不明白,为什么MCI播放AVI或MPG文件时,在播放的窗口上移动MOUSE,主窗口收不到消息
- 娜为大狭给我详细讲讲CReBarCtrl的用法,最好有代码、实例!!!
- 进程
- VC6的工程转VS2008遇到的问题,缺少个文件。
A肯定是在连线上,B是鼠标点击点,C是附近的点。
计算这个三角形的面积,少的优先,做备选点。检查,如果AC不存在则删除。
是数据结果里的图。
数据结构里的图,不就是点集合,和由两点构成的边的集合么?
这是个棋盘。点集合就是棋盘上各个可以落子的点,边就是两个点组成的线段。比如
图
{
点(A(0,0),B(1,1),C(1,0),D(0,1))
边((A,B),(A,C))
}每次只能在一条边上移动一格。
现在需要判断A是否能移动到D。