處理方塊之間的連線線
處理方塊之間的連線線
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可以直接相連, 沒有轉折點
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
{
return points;
}
}
LinkInfo中所用的Point代表一個點,程式直接使用了android.graphics.Point類,每個Point封裝了該點的X、Y座標。
本文節選自《瘋狂Android講義(含CD光碟1張)》一書。
圖書詳細資訊:http://space.itpub.net/?uid-13164110-action-viewspace-itemid-702318
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-702322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 區塊鏈間的連線設施區塊鏈
- 行連線的處理方式指引
- 行的儲存(塊內連線與塊外連線)
- postgresql連線失敗如何處理SQL
- windows 處理bat連線本地mysqlWindowsBATMySql
- 使用Visual Studio的動態連線庫建立通用資料庫連線對話方塊資料庫
- linux之間連線—使用SSHLinux
- sql server連線排序衝突處理SQLServer排序
- SSH 連線緩慢問題處理
- asp連線Mysql及編碼處理MySql
- 多表連線SQL優化如何處理SQL優化
- vnc遠端連線黑屏,vnc連線Linux後黑屏的處理辦法VNCLinux
- 表與表之間連線式on,using以及自然連線的區別
- 程式、會話、連線之間的差異會話
- Cisco 交換機之間的連線方法(轉)
- 【T01】理解面向連線和無連線協議之間的區別協議
- linux如何處理多連線請求?Linux
- JDBC連線批量處理資料入庫JDBC
- 資料庫連線異常處理思路資料庫
- Netty是如何處理新連線接入事件的?Netty事件
- pymysql 處理 連線超時最好的解決方案MySql
- mysql自動斷開連線的問題處理MySql
- 學習連連看 連線線之謎+道具的使用
- 一次對連線過程進行跟蹤處理連線故障問題的案例
- 修改windows遠端桌面連線埠-批處理Windows
- 遠端連線錯誤程式碼及處理
- nodejs 連線 mysql 查詢事務處理NodeJSMySql
- 死連線_linux_OS處理機制Linux
- 【Mysql】連線數過多,應急處理方法MySql
- Oracle優化器內部處理的表連線方式Oracle優化
- Outlook2010POP3方式連線Hotmail等郵箱的錯誤處理AI
- win10 wifi連了一段時間無法連線如何處理_win10 wifi突然無法連線解決方法Win10WiFi
- SQL的四種連線:內連線 左外連線 右外連線 全連線SQL
- SQL Server 連線常見錯誤及其處理方法SQLServer
- JAVA之長連線、短連線和心跳包Java
- 簡單總結nodejs處理tcp連線的核心流程NodeJSTCP
- windows客戶機連線gerrit的一個報錯處理Windows
- VMware10下橋連線故障及無奈的處理