我试图用Python编写一个简单的a*解算器,用于一个简单的8字谜游戏。

我用这种方式代表了我比赛的目标:goal = [[1, 2, 3],

[8, 0, 4],

[7, 6, 5]]

我的问题是,我不知道如何写一个简单的曼哈顿距离启发我的目标。我知道它应该定义为一般状态和我的目标状态之间的距离之和。我想我应该编写如下代码:def manhattan_distance(state):

distance = 0

for x in xrange(3):

for y in xrange(3):

value = state[x][y]

x_value = x

y_value = y

x_goal = ...?

y_goal = ...?

distance += abs(x_value - x_goal) + abs(y_value - y_goal)

return distance

我的问题是,我没有目标状态下各部分坐标的明确表示,所以我不知道如何定义“x_goal”和“y_goal”作为“value”部分。我试着用部门和模块操作,但是很难。

你能给我一些提示来定义我的“x~u目标”和“y~u目标”变量吗?

谢谢你

为什么不可以使用哈曼顿距离_用Python计算8字谜游戏中的曼哈顿距离相关推荐

  1. R语言dist函数距离计算实战(欧几里得距离、曼哈顿距离)

    R语言dist函数距离计算实战(欧几里得距离.曼哈顿距离) 目录 R语言dist函数距离计算实战(欧几里得距离.曼哈顿距离)

  2. matlab 韩明距离_使用Matlab计算各种距离Distance

    计算距离的需求有两种: 一种是给定一个特征集合X,然后计算Pairwise距离矩阵,那么可使用D=pdist(X,distance)的方式: 另一种是给定两个对应的特征集合X和Y,然后计算X与Y对应的 ...

  3. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

  4. python生成一笔画_用Python玩烧脑小游戏《一笔画完》,瞬间闯到100关

    原标题:用Python玩烧脑小游戏<一笔画完>,瞬间闯到100关 " 昨天和朋友出去外面吃饭,吃完饭后朋友打开了一个小程序玩了起来...... 游戏长这样 大概玩法是:从地图中猫 ...

  5. 用python和pygame写游戏_用Python和Pygame写游戏-从入门到精通(6)

    掌握了小小的像素,我们可以使用更加复杂一点的东西了,对,就是图像,无数的像素的集合~还记得上次我们为了生成的一张图片,花了无数时间,还好一般游戏不会在游戏的过程中动态生成图像,都是将画好的作为资源封装 ...

  6. python里的π怎么调用_用python计算圆周率π

    用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π的具体公式或者算法说明. 二.算法 1.马青公 ...

  7. 采用python语言实现猜数游戏_用python实现猜数游戏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 ...

  8. python 计算流形上两点之间的测地距离

    在分析数据时,有时要计算流形上两点之间的测地距离.本着有现成轮子绝对不自己写的观点,发现可以通过以下方式计算流形上任意两点之间的测地距离. ISOMAP是一种保持测地距离不变的高维空间中低维流形的降维 ...

  9. python分词统计词频_-用python找出一篇文章中词频最高的20个单词

    python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...

最新文章

  1. java 3维_java 二维/三维/多维数组
  2. nyoj1307Linux的文件权限对不对
  3. 使用Workbench导出为【sql】脚本文件
  4. Spring在web中的使用
  5. Java commit()_Java XAResource.commit方法代码示例
  6. Object-c 总结之NSArray
  7. cvi中c语言只保留两位小数,保留两位小数,但要求只显示一位小数,怎么实现?...
  8. Genymotion安装那些事
  9. 基于机器视觉的安利纽崔莱瓶子外观检测
  10. Vue进阶之表单控件绑定
  11. Web开发必须知道的知识点
  12. 最新MT2503_GPS调试工具资料下载
  13. PTA-Python题库(浙大版Python程序设计教材对应练习) 题解索引
  14. 值得收藏的UmiJS 教程
  15. Microsoft Outlook设置GMail谷歌邮箱
  16. SaltStack简介和安装
  17. 【思考】冷启动、种子用户的获取和激活
  18. 跨境电商的9大运营模式
  19. ios 高德获取定位_更新日志-iOS 定位SDK | 高德地图API
  20. 航运人工智能提升全球集装箱海陆各环节作业效率,箱管控,CIMCAI自动化集装箱况残损检测/箱信息识别数字化录入,智慧航运智能航运

热门文章

  1. 酒精测试仪方案开发解析
  2. 比Smallpdf好用的在线转换工具有没有呢?
  3. 基于百度AI平台的语音识别功能开发-SDK调用
  4. 电信 IPRAN 设备组网方案_中国电信首次确认5G独立组网(SA)时间表
  5. 抢答器设计与测试(实验报告)
  6. Bert albert xlnet gtp
  7. Keka for Mac(mac压缩解压软件)
  8. Geek 强力卸载工具,注册表,缓存,垃圾数据全清,免安装
  9. 手机上可以使用的库存软件,应该选它!
  10. C语言中常量、变量和函数