Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 686|回复: 0

android连连看开发技巧(3)

[复制链接]

该用户从未签到

发表于 2012-3-26 13:49:12 | 显示全部楼层 |阅读模式
上两篇的传送门
android连连看开发技巧|http://www.javaxxz.com/read-htm-tid-10541.html
android连连看开发技巧(2)|http://www.javaxxz.com/read-htm-tid-10549.html
处理方块之间的连接线
       LinkInfo是一个非常简单的工具类,它用于封装两个方块之间的连接信息——其实就是封装一个List,List里保存了连接线需要经过的点。
       在实现LinkInfo对象之前,先来分析两个方块可以相连的情形,连连看游戏的规则约定:两个方块之间的最多只能用3条线段相连,也就是说最多只能有2个“拐点”,加上两个方块的中心,方块的连接信息最多只需要4个连接点。图18.5显示了允许出现的连接情况:
图18.5 方块的连接

考虑到LinkInfo最多需要封装4个连接点,最少需要封装2个连接点,因此程序定义如下LinkInfo类:
程序清单:codes18LinksrcorgcrazyitlinkobjectLinkInfo.java
public class LinkInfo

{

         // 创建一个集合用于保存连接点

private List
[size=FONT-SIZE: larger,larger]points = new ArrayList
[size=FONT-SIZE: larger,larger]();

         // 提供第一个构造器, 表示两个Point可以直接相连, 没有转折点

         public LinkInfo(Point p1, Point p2)

         {

                   // 加到集合中去

                   points.add(p1);

                   points.add(p2);

         }

         // 提供第二个构造器, 表示三个Point可以相连, p2是p1与p3之间的转折点

         public LinkInfo(Point p1, Point p2, Point p3)

         {

                   points.add(p1);

                   points.add(p2);

                   points.add(p3);

         }

         // 提供第三个构造器, 表示四个Point可以相连, p2, p3是p1与p4的转折点

         public LinkInfo(Point p1, Point p2, Point p3, Point p4)

         {

                   points.add(p1);

                   points.add(p2);

                   points.add(p3);

                   points.add(p4);

         }

         // 返回连接集合

public List
[size=FONT-SIZE: larger,larger]getLinkPoints()

         {

                  return points;

         }

}

       LinkInfo中所用的Point代表一个点,程序直接使用了android.graphics.Point类,每个Point封装了该点的X、Y座标。(未完.摘自[疯狂Android讲义.李刚])
原文出处:疯狂软件教育http://www.fkjava.org/newsView-406.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 23:37 , Processed in 0.364027 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表