国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 連連看連接算法

2020-02-23 04:40:47
字體:
來源:轉載
供稿:網友
功能:為連連看游戲提供連接算法
說明:模塊中包含一個Point類,該類是游戲的基本單元“點”,該類包含屬性:x,y,value。
其中x,y代表了該點的坐標,value代表該點的特征:0代表沒有被填充,1-8代表被填充為游戲圖案,9代表被填充為墻壁
模塊中還包含一個名為points的Point列表,其中保存著整個游戲界面中的每個點
使用模塊的時候應首先調用createPoints方法,初始化游戲界面中每個點,然后可通過points訪問到每個點,繼而初始化界面
模塊中核心的方法是link,通過提供源點和終點,可嘗試連接兩點,如果可以連接則返回保存路徑的path列表,否則返回False

代碼如下:
#-*-coding:utf-8-*-
"""連連看連接算法

為連連看游戲提供連接算法
模塊中包含一個Point類,該類是游戲的基本單元“點”,該類包含屬性:x,y,value。
其中x,y代表了該點的坐標,value代表該點的特征:0代表沒有被填充,1-8代表被填充為游戲圖案,9代表被填充為墻壁
模塊中還包含一個名為points的Point列表,其中保存著整個游戲界面中的每個點
使用模塊的時候應首先調用createPoints方法,初始化游戲界面中每個點,然后可通過points訪問到每個點,繼而初始化界面
模塊中核心的方法是link,通過提供源點和終點,可嘗試連接兩點,如果可以連接則返回保存路徑的path列表,否則返回False
"""
import random

__author__ ="http://blog.csdn.net/anhulife"
__license__ ="python"

class Point:
"""Point類

Point類是游戲中基本單元:“點”
"""
def __init__(self,x,y,value):
self.x = x
self.y = y
self.value = value
self.directs = None
self.changed = 0
def __createDirect(self,pre,target):
"""構造點的方向集

每個點在連接的過程中都持有一個方向集,這個方向集中保存著該點的前進方向選擇的優先級
優先級:指向目標點的方向級別最高,在同等級別并且遵循x方向優先于y方向
"""
self.directs = list()
stx = target.x - self.x
sty = target.y - self.y
if stx >= 0 :
self.directs.append("right")
self.directs.append("left")
else:
self.directs.append("left")
self.directs.append("right")
if sty >= 0 :
self.directs.insert(1,"up")
self.directs.append("down")
else:
self.directs.insert(1,"down")
self.directs.append("up")
if pre == None :
return
spx = pre.x - self.x
spy = pre.y - self.y
if spx == 0 :
if spy == 1:
self.directs.remove("up")
else:
self.directs.remove("down")
else :
if spx == 1:
self.directs.remove("right")
else:
self.directs.remove("left")
def forward(self,pre,target):
"""點的前進動作

點的前進即是依次從方向集中取出優先級高的方向,并判斷該方向上的下一個點是否被填充
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼和浩特市| 涞水县| 南陵县| 肇州县| 利津县| 枝江市| 承德县| 永州市| 郯城县| 桑日县| 德令哈市| 浙江省| 嘉禾县| 公安县| 榆社县| 博野县| 耒阳市| 方城县| 平遥县| 来宾市| 东城区| 江门市| 普兰县| 正镶白旗| 乐至县| 永登县| 北辰区| 皋兰县| 大埔县| 织金县| 陕西省| 峡江县| 巴林左旗| 黔江区| 新野县| 台东市| 来安县| 祁连县| 房产| 益阳市| 庆云县|