wei_Y 发表于 2014-11-17 20:09:49

通向终点的路不止一条!python迷宫。

本帖最后由 wei_Y 于 2014-11-24 19:53 编辑




{:5_96:}其实木有上面那么高端啦。。只是数字版。。

规则:


迷宫没有墙壁,但是每条边的路被坑包围。如果一个玩家掉在坑里的话,他们就丢失了。迷宫是用矩阵来表示(含有列表的列表): 1是坑,0的路径的一部分。 迷宫的大小是12×12,外界都是坑。玩家在点(1,1)开始。出口是在点(10,10)。 你需要找到通过迷宫的路径。 玩家只能通过四个方向移动 南(下 ),北(上 [-1,0]), 东(右),西(左)。这条路线被描述成由不同的字符组成的字符串:“S”=南,“N”=北,“E”=东,和“W”=西。

迷宫:
One:



[,,,,,,,,,,,,]










Two:

[
,,,,,,,,,,,,]
three:


[,,,,,,,,,,,,]
Four:



[,,,,,,,,,,,,]Five:

[
,,,,,,,,,,[1,0,1,0,0,0,1,0,0,0,0,1],,]

测试代码:
def check_route(func, labyrinth):
      MOVE = {"S": (1, 0), "N": (-1, 0), "W": (0, -1), "E": (0, 1)}
      #copy maze
      route = func( for row in labyrinth])
      pos = (1, 1)
      goal = (10, 10)
      for i, d in enumerate(route):
            move = MOVE.get(d, None)
            if not move:
                print("Wrong symbol in route")
                return False
            pos = pos + move, pos + move
            if pos == goal:
                return True
            if labyrinth]] == 1:
                print("Player in the pit")
                return False
      print("Player did not reach exit")
      return False
带上写的函数和迷宫列表:



嘻嘻,能不能写粗来呢,各位试试吧。
我写的太菜了不贴上来丢人了。{:5_97:}

大神写的:

**** Hidden Message *****






戴宇轩 发表于 2015-1-24 15:29:44

懂了!!!!! 是这样的吧?
#迷宫算法
def checkio(data): #主函数
    result=[] #结果存放处
    dirs=[,,,[-1,0,'L']] #方向定义
    def move(path,x,y,field): #移动函数
      field=1 #把自己变成1, 防止无限递归
      if x==10 and y==10: #如果到终点了
            result.append(path) #将路径放入结果
      for d in dirs: #检查四个方向
            if field]]==0: #如果某个方向为0
                move(path+d,x+d,y+d,field) #递归
    move('',1,1,data) #调用移动函数, 此时路径为空
    return result #将结果路径返回, Done!

来自:鱼C论坛 iPhone客户端

拈花小仙 发表于 2014-11-17 20:37:19

{:7_139:}强烈支持哦~

yang4225231 发表于 2014-11-19 11:27:47

支持一下,我还不会写这个{:9_240:}

戴宇轩 发表于 2014-11-19 23:10:45

支持!我学Basic时也做过这个

1012662902 发表于 2014-11-20 00:51:23

支持楼主

langzijinge 发表于 2014-11-20 01:49:04


584250550 发表于 2014-11-20 07:44:43

消尽不死鸟 发表于 2014-11-20 08:34:53

看看,学习一下

opqrew99 发表于 2014-11-20 09:11:53

学习学习,现在还不会弄这东西

HugeHippo 发表于 2014-11-20 09:30:01

赞~!!!!

秋之帆 发表于 2014-11-20 10:21:03

不错嘛!学习一下,谢谢分享!

gujun19921028 发表于 2014-11-20 10:33:09

厉害

python风 发表于 2014-11-20 11:01:08

sigoyi

Vxiaoyi 发表于 2014-11-20 12:30:13

1055872684 发表于 2014-11-20 13:02:05

支持LZ...............

1055872684 发表于 2014-11-20 13:02:56

支持LZ...............

Munly 发表于 2014-11-20 14:36:43

学习

1588/足球 发表于 2014-11-20 17:33:51

大神 求带啊哦也

破灬王 发表于 2014-11-20 18:15:40

支持楼主!

の祉崭之殇__ 发表于 2014-11-20 20:17:38

没有看懂啊
页: [1] 2 3 4 5 6 7
查看完整版本: 通向终点的路不止一条!python迷宫。