我试图用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. T-Mobile旗下网站又曝安全漏洞 允许任何人查看他人账户信息
  2. Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
  3. python获取输入框内容长度_python3 tkinter 获取输入字符串长度
  4. Tecplot 360 按教程安装完毕后,弹出“Is your Tecplot 360 EX liense valid?”【终极解决办法】
  5. org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory
  6. android执行main函数,AndroidStudio执行main方法报错
  7. python如何进行web开发_如何用Python做Web开发
  8. pandas 学习 —— 逻辑表达式与布尔索引
  9. linux系统电脑接硬盘盒,在linux系统下添加新硬盘
  10. 计算机网络网络层之层次路由
  11. 复习HTML+CSS(5)
  12. flash, sparkle, glow, gleam, twinkle, glitter
  13. html页面加载蒙版,HTML / CSS - 在图像上创建alpha蒙版
  14. 为什么SEM竞价推广效果越来越差?
  15. pthread_cond_init 初始化条件变量使用
  16. docker compose容器域名配置
  17. Python实现小说下载器,可以打包exe
  18. 2021-04-24
  19. ahri8.php,文件上传处理 - [ php中文手册 ] - 在线原生手册 - php中文网
  20. 计算机动画基本概念,计算机三维动画基本概念简介

热门文章

  1. Python:如何在代码完成时发出警报声?
  2. 使用Webpack打包Typescript ES6项目(转ES5)
  3. rebol ODBC链接数据库
  4. HPE DL380 Gen10 服务器远程升级ESXi6.0到ESXi6.7
  5. Jetson nano 入手系列之2—板载摄像头IMX219启动
  6. java fix sence_repair fix mend的区别
  7. 【java代码规范】
  8. matlab画立体仓库库位图_仓库货物库位图在Excel电子表格中的设计与实现
  9. Java小结|Java入门知识点
  10. Vim Cscope配置与使用