LinkInfo是一個非常簡單的工具類,它用于封裝兩個方塊之間的連接配接資訊——其實就是封裝一個List,List裡儲存了連接配接線需要經過的點。
在實作LinkInfo對象之前,先來分析兩個方塊可以相連的情形。連連看遊戲的規則約定:兩個方塊之間最多隻能用3條線段相連,也就是說最多隻能有2個“拐點”,加上兩個方塊的中心,方塊的連接配接資訊最多隻需要4個連接配接點。圖18.5顯示了允許出現的連接配接情況。
考慮到LinkInfo最多需要封裝4個連接配接點,最少需要封裝2個連接配接點,是以程式定義如下LinkInfo類。
程式清單:codes\18\Link\src\org\crazyit\link\object\LinkInfo.java
public class LinkInfo
{
// 建立一個集合用于儲存連接配接點
private List<Point> points = new ArrayList<Point>();
// 提供第一個構造器, 表示兩個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(p3);
// 提供第三個構造器, 表示四個Point可以相連, p2, p3是p1與p4的轉折點
public LinkInfo(Point p1, Point p2, Point p3, Point p4)
points.add(p4);
// 傳回連接配接集合
public List<Point> getLinkPoints()
return points;
}
LinkInfo中所用的Point代表一個點,程式直接使用了android.graphics.Point類,每個Point封裝了該點的X、Y坐标。

本文節選自《瘋狂Android講義(含CDCD光牒1張)》一書。
圖書詳細資訊:http://bvbroadview.blog.51cto.com/3227029/612167