由于本人是研究AI的,尤其是AI的强化学习方向,有时候就会对一些小游戏环境的实现有几分兴趣,因为刚看了有关reinforcement learning解决maze游戏的论文,于是就突发奇想的对这个maze迷宫的实现有些想了解了。

迷宫其实就是在一个表格上画线,然后构成的从某点到另一个点的一个通路的环境:

具体的迷宫的样子:

我们可以用一个0、1组成的二维矩阵来表示一个类似上图的迷宫环境:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1

1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1

1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1

1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1

1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1

1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1

1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1

1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1

1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1

1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1

1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1

1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1

1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1

1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1

1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1

1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1

1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 1

1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

其中,我们可以把1当做是黑格,而0视作为白格,黑格我们认为是不可以通行的地方,也就是迷宫的墙壁,而白格则为可通行的地方。

python语言下的迷宫游戏的实现猜想的更多相关文章

  1. Python语言下图像的操作方法总结

    本章主要讲解 图像的读取方式.灰度化操作.图像转化为矩阵的方法 假设 strImgPath是图像的路径, img对象将图片读入到内存中 读取图像的第一种方式:skImage from skimage ...

  2. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  3. c语言迷宫游戏的实现

    // // main.c // 迷宫游戏代码实现 // #include <stdio.h> #define ROW 6 //宏定义行 #define COL 6 //宏定义列 /** * ...

  4. 解决python语言在cmd下中文乱码的问题

    解决python语言在cmd下中文乱码的问题: a = "再见!"print (a.decode('utf-8').encode('gbk')) #解决在cmd下中文乱码的问题

  5. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  6. 用Java语言编写的迷宫小游戏软件

    可查看本项目的github 源码链接,撒娇打滚求 star 哦~~ღ( ´・ᴗ・ ` )比心 本仓库代码是经过 eclipse 编译运行过的,一般情况下将本仓库代码下载下来之后,使用 eclipse ...

  7. 如何系统地自学一门Python 语言(转)

    转自:http://www.phpxs.com/post/4521 零基础情况下,学一门语言充实下自己,Python,简洁.优美.容易使用,是一个很好的选择.那么如何系统地自学Python呢? 有的人 ...

  8. python语言的优点和缺点

    python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是"优雅"."明确"."简单&qu ...

  9. Python语言在企业级应用上的十大谬误

    英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.os ...

  10. 用webgl打造自己的3D迷宫游戏

    用webgl打造自己的3D迷宫游戏 2016/09/19 · JavaScript · WebGL 原文出处: AlloyTeam    背景:前段时间自己居然迷路了,有感而发就想到写一个可以让人迷路 ...

随机推荐

  1. LeetCode 295. Find Median from Data Stream数据流的中位数 (C++/Java)

    题目: Median is the middle value in an ordered integer list. If the size of the list is even, there is ...

  2. 反外挂 DDos UDP 攻击只需客户端 开着游戏客户端

    #include<WINSOCK2.H> #include<iostream> #include<string> using namespace std; #inc ...

  3. AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8

    AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8 出 ...

  4. 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上)

    目录 前言 一.需求分析 1.1发送通知 1.2撤回通知 1.3通知消息数 1.4通知消息列表 二.数据模型设计 2.1概念模型 2.2逻辑模型 三.关键流程设计 本篇小结 前言 消息通知系统(not ...

  5. 记录一次MySQL多表查询,order by不走索引的情况.

    首先是表结构,部分字段脱敏已删除 CREATE TABLE `log_device_heart` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `devic ...

  6. java ListMap使用多个或者任意个数的key进行排序

    使用JAVA自己的排序方法,有的时候是一个可行的选择. 先从简单的开始说起. 一.少数key的情况 有一个需求:根据 menu_level,sort排序,越小的越前面. -- 下面代码按照升序规则进行 ...

  7. js-对象创建

    哥被逼得要当全栈工程师,今天练习了下各种对象的创建方式.代码较多参考了https://www.cnblogs.com/ImmortalWang/p/10517091.html 为了方便测试,整合了一个 ...

  8. 基于SSD202D芯片的最小嵌入式Linux开发板来了 仅需99元 入门嵌入式Linux必选

  9. Mybatis 快速入门(注解方式)

    导读 注解开发的方式只需要程序员开发Mapper接口即可,不需要编写映射文件(XML). 环境搭建 项目结构 SqlMapConfig.xml <!DOCTYPE configuration P ...

  10. [大数据][机器学习]之Model Card(模型卡片)介绍

    每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识.理解和运用,参照huggingface所制定的标准制作一个Model Card展示页,是种非常好的模型展示和组织形式. 下面就是一个 ...