/**
* //拖动芯片方法
*/
public void repainChip(Point oldPoint, Point newPoint, ChipFont f) {
// 鼠标释放坐标
Point p = newPoint;
Point p1 = oldPoint;
Dimension delta = p.getDifference(oldPoint);
// last = p;
// 获得你鼠标释放的figur
// 判断芯片槽是否已经存放了芯片
for (int i = 1; i < 17; i++) {
if ((p.x > ((ChipTrough) map.get(i)).getXy().getX())
&& (p.x < ((ChipTrough) map.get(i)).getXy().getX() + 120)
&& (p.y > ((ChipTrough) map.get(i)).getXy().getY())
&& (p.y < ((ChipTrough) map.get(i)).getXy().getY() + 120)) {
if (((ChipTrough) map.get(i)).isSaveCome()) {
// 芯片
f.getChip().setBounds(
new Rectangle(((ChipTrough) map.get(i)).getXy()
.getX() + 14, ((ChipTrough) map.get(i))
.getXy().getY() + 12, 115, 115));
// 边框
f.getChip().getBd().setBounds(
new Rectangle(((ChipTrough) map.get(i)).getXy()
.getX(), ((ChipTrough) map.get(i))
.getXy().getY(), 135, 135));
// 拖动图形银角和图形一起动
f.getChip().getOutput().setBounds(
new Rectangle(((ChipTrough) map.get(i)).getXy()
.getX() + 8,
f.getChip().getBounds().y + 2, 20, 10));
f.getChip().getInput()
.setBounds(
new Rectangle(((ChipTrough) map.get(i))
.getXy().getX() + 8, f
.getChip().getBounds().y + 20,
20, 10));
// 名字
f.setBounds(new Rectangle(((ChipTrough) map.get(i))
.getXy().getX() + 20, ((ChipTrough) map.get(i))
.getXy().getY() + 15, 115, 115));
// 设置此芯片槽已经存放
((ChipTrough) map.get(i)).setSaveCome(false);
// 设置老芯片槽为false
for (int j = 1; j <= 16; j++) {
if ((((ChipTrough) map.get(j)).getXy().getX() == p1.x)
&& (((ChipTrough) map.get(j)).getXy()
.getY() == p1.y)) {
((ChipTrough) map.get(j)).setSaveCome(true);
}
}
break;
}
分享到:
相关推荐
标题中的“connection连线样式走线方式”主要涉及的是在图形用户界面(GUI)或软件开发中,特别是在绘制流程图、电路图或者数据流图时,如何处理元素之间的连接线,即连线的样式和布局方法。这通常涉及到图形库或者...
根据提供的信息,我们可以深入探讨“连连看”游戏中的核心算法,并着重分析其在Android平台上的实现方式。连连看是一款非常受欢迎的休闲益智类游戏,玩家的目标是通过连接两个相同图案的方块来消除它们,而连接的...
在IT行业中,字段级连线(Field-Level Connection)是一种常见的数据可视化技术,特别是在图形库和图论应用中。这里提到的“字段级连线字段级连线字段级连线字段级连线”可能是由于重复,我们可以理解为对这一概念的...
4. **事件绑定**:可能有事件监听器,如`jsPlumb.bind('connection', function() {...})`,处理连接的创建和变化。 5. **动态创建和删除连接**:通过调用jsPlumb的API方法,如`jsPlumb.connect()`和`jsPlumb.detach...
### 最小覆盖圆:算法与应用 #### 引言 最小覆盖圆问题,作为一个核心的计算几何问题,涉及寻找一个圆,使其能够包含平面上给定的所有点,并且该圆的半径尽可能小。这个问题在设施选址、信号覆盖优化、以及更广泛...
jsPlumb有丰富的事件系统,如`connection`、`connectionDetached`、`endpointAdded`等,可以监听这些事件进行自定义处理,如保存状态、更新UI等。通过`jsPlumb.bind()`方法注册事件处理器。 5. **布局与动画**: ...
例如,可以创建一个`ChessBoard`类来表示棋盘,`ChessPiece`类来表示棋子,`Connection`类来表示棋子间的连线。 2. **图形用户界面(GUI)**:连连看游戏需要一个友好的交互界面,这可以通过Java的Swing或JavaFX库...
这涉及到复杂的算法,如层次遍历、拓扑排序等,以确保连线无交叉、节点分布均匀。 8. **调试与测试** 系统经过多次调试,确保了功能的完整性和运行的稳定性。VB的调试工具,如断点、步进执行、变量观察等,都对...
- 实现胜负判断算法,当一方形成五子连线时判定为胜,无五子连线且棋盘满时判定为和棋。 3. **网络通信**: - 制定通信规范,包括消息结构、数据编码和错误处理等。 - 使用VB中的`Winsock`控件进行TCP/IP通信。`...
在FPGA开发中,Verilog常用于实现算术逻辑单元(ALU)、存储器(如RAM、ROM)、通信协议(如SPI、UART)、数字信号处理算法、嵌入式处理器接口等。通过不断练习和项目实践,可以提升对Verilog和FPGA的理解,从而设计...
如Ctrl+A用于全部选定、Ctrl+C和Ctrl+V分别用于复制和粘贴环节、Ctrl+X用于剪切环节、Ctrl+Z用于撤销当前修改、Del用于删除选定对象、Alt+光标键用于微距移动环节、F2用于显示或隐藏连线信息。 9. eCooeModel2010...
这需要实现一个算法来检查相邻方块,以及判断连线是否符合规则。 3. **计时系统**:可以使用TTimer组件来实现,设置合适的间隔,每次触发事件时更新游戏时间显示。 4. **得分计算**:每次成功消除一对方块,得分增加...
### 9. 性能优化 在处理大量元素和连接时,需要注意性能优化。例如,通过批量操作减少DOM操作次数,使用懒加载策略减少初始加载的负担,以及合理配置缓存策略。 总之,JSPlumb是一个强大且灵活的工具,能够帮助...
JsPlumb 是一个基于 JavaScript 的库,专为创建可视化连接器(或“连线”)而设计。这个库利用 HTML5 的 canvas、SVG 或 VML 元素,能够在网页上动态绘制和管理连接线,从而在不同元素之间建立关系。JsPlumb 的应用...