爱站网关键词挖掘工具站长工具网站首页面设计

bicheng/2026/1/24 18:10:09/文章来源:
爱站网关键词挖掘工具站长工具,网站首页面设计,国内用python做的网站,app软件系统开发学习路径计算之前需要一个场景#xff0c;网上查了下迷宫生成方法花了点时间写了个简单的迷宫生成器 基本原理十分简单#xff1a; 使用2维矩阵表示迷宫#xff0c;每一个节点有四面墙#xff0c;使用深度搜索#xff0c;随机顺序向四个方向移动,#xff0c;如果遇到已到…学习路径计算之前需要一个场景网上查了下迷宫生成方法花了点时间写了个简单的迷宫生成器 基本原理十分简单 使用2维矩阵表示迷宫每一个节点有四面墙使用深度搜索随机顺序向四个方向移动,如果遇到已到节点则停止该方向没有走过则把两个节点之间的墙消除掉。这样可以保证每一个节点都可以覆盖到而且每一个节点都会有一条路通向出口。 简单的算法有一个很明显的缺点每一个节点只有一条固定的路不会有多条路通向某个节点。 深度搜索使用递归十分简洁不赘述。 具体实现比较容易受坑的地方是如何简洁实现上下左右随机移动消除墙壁并且不用一千个if 首先是方向表示这里使用了一个列表 directions [[0,-1],[1,0],[0,1],[-1,0]] 分别表示上右下左 对[0,1,2,3]使用random.shuffle()函数然后对这个列表进行遍历可以实现随机获取上下左右矢量 每一个节点有四面墙壁使用[0,0,0,0]表达序列方向与上面direction相同。 在消除一个节点之间的墙壁的时候需要消除上一个墙壁对立面的节点 还是对方向进行操作direction[i]表达了方向矢量在这里加号是右移右移一位的时候是顺时针旋转45度向左移1位则是旋转逆时针45度 数字i右移2位并投影到0-3上则可以实现方向对调。 简单来说就是进行右移并除余 每次搜索的时候如果遇到之前已访问节点则退出函数函数中记录已覆盖节点如果达到节点总数则直接退出 运行效果如下 可以看到递归深度优先的算法的特点在一条路走到最后之后会返回到上一个节点 import pygame as pg import time import randomclass Tile():def __init__(self,grid_size,screen_size,x,y): #主要是储存数据和绘制图形与算法无关self.x,self.y x,yself.connected [0,0,0,0] # up,right,down,left 0 for not connectedself.grid_size grid_sizeself.tile_size [(screen_size[0]-100)/grid_size[0],(screen_size[1]-100)/grid_size[1]]self.rectangle (self.x*self.tile_size[0]50,self.y*self.tile_size[1]50,self.tile_size[0],self.tile_size[1])self.points [ [self.x*self.tile_size[0]50,self.y*self.tile_size[1]50], #uppper left[self.x*self.tile_size[0]50self.tile_size[0],self.y*self.tile_size[1]50], #upper right[self.x*self.tile_size[0]50self.tile_size[0],self.y*self.tile_size[1]50self.tile_size[1]], #lower right[self.x*self.tile_size[0]50,self.y*self.tile_size[1]50self.tile_size[1]], #lower left] self.visited Falsedef draw(self,color (255,253,150)): #x,y represents the tile coordinates pg.draw.rect(screen,color,self.rectangle) #绘制节点for i in range(4): #绘制四面墙壁if not self.connected[i]:pg.draw.line(screen,(150,175,255),(self.points[i]),(self.points[((i1)%4)]),5)def maze_gen(path):global tile_covered #覆盖节点数量当覆盖节点数量到达网格数量则停止x,y path[-1]if x 0 or x grid_size[0] or y 0 or y grid_size[1]: #超出网格范围则退出print(findex out of range at {x,y})returnmatrix[y][x].draw()if matrix[y][x].visited: #已访问节点则退出print(fnode already visited at {x,y})returnelif tile_covered grid_size[0]*grid_size[1]: #覆盖节点数量未到达网格总数量tile_covered 1matrix[y][x].visited Truepath_choice [0,1,2,3]random.shuffle(path_choice)directions [[0,-1],[1,0],[0,1],[-1,0]] # up,right,down,left 0 for not connectedfor i in path_choice:x_,y_ xdirections[i][0],ydirections[i][1]path.append([x_,y_])if maze_gen(path):matrix[y][x].connected[i] 1 #walls of current nodematrix[y_][x_].connected[(i2)%4] 1#reverse the vector directionmatrix[y][x].draw()matrix[y_][x_].draw()path.pop(-1)pg.display.update()return Trueelse:print(all node visited)returnscreen_size [800,800] grid_size [40,40] exit [10,10] tile_covered 0 run Truescreen pg.display.set_mode(screen_size)matrix [] for y in range(grid_size[1]): #创建二维矩阵x,y代表坐标temp []for x in range(grid_size[0]):tile Tile(grid_size,screen_size,x,y)temp.append(tile)matrix.append(temp)pg.init() path [[0,0]]screen.fill((255,255,255)) maze_gen(path)pg.display.update()print( Generation Finished ) while run: #生称完毕之后不退出使用循环for event in pg.event.get():if event.type pg.QUIT:time.sleep(0.1)pg.quit()exit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线咨询24小时免费咨询长沙网站优化掌营天下

转载自 三年半Java后端面试经历 经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征。 鹅厂 面试职位:go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场&…

丹东商城网站建设网站改版的方式大致有

forEach() forEach()方法需要一个函数作为参数。这种函数,是由我们创建但是不由我们调用的,我们称为回调函数。 数组中有几个元素,该回调函数就会执行几次。 回调函数中传递三个参数: 参数1:当前正在遍历的元素 参…

合肥外贸网站建设公司排名wordpress编辑文章

题目&#xff1a;给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 代码&#xff1a; class Solution {private Map<Integer, Integer> indexM…

长沙微网站开发咕果网给企业做网站的

再有半个月&#xff0c;就彻底的与2016告别了&#xff0c;在这里&#xff0c;也凑个热闹&#xff0c;写个总结吧。 这一年&#xff0c;是我从事这个前端行业的第三个年头&#xff0c;也是我真正的开始了解这个行业&#xff0c;而真正的为之努力与奋斗的一年。 从14年初懵懵懂懂…

渭南做网站博创互联网站设计用ps 怎么做

mfc是c的一个框架&#xff0c;可谓是经久不衰。最近博主遇到一个问题&#xff0c;就是单选按钮点击自己可以设置可选和不可选&#xff0c;貌似类似复选框一样&#xff0c;但领导分发的任务上要求的是用单选按钮实现复选框这种类似功能&#xff0c;实现效果类似如下图&#xff1…

长安做网站价格国外做的比较好看的网站

文章目录 前言一、回顾前几关知识点二、靶场第二十三关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去…

道德建设 网站客户管理软件免费版

&#x1f9f8;注&#xff1a;不要看我的文件多&#xff0c;那是我的其他项目&#xff0c;这个项目所用的文件我会全部用红框框起来&#xff0c;没框的部分不用管&#xff0c;前端两个文件&#xff0c;后端一个文件 &#x1f4dc; 目录 首先&#xff0c;定义前后端交互接口 然…

站酷官网信誉好的广州做网站

防火墙: 1. 查看是否安装了firewalld sudo systemctl status firewalld 查看防火墙状态或者sudo systemctl is-active firewalld 查看防火墙是否是开启状态 2. 开放6379port sudo firewall-cmd --add-port6379/tcp --permanent 刷新防火墙 sudo firewall-cmd --reload 3…

宝安中心地铁站是几号线天津住房与城乡建设部网站

1 Web方向的练手项目 这个其实是肯定不用多少的了。Python的练手项目就是可以做一个网站了。我们可以做一个属于自己的博客。在做博客的时候&#xff0c;我们可以巩固的知识点是 HtmlCSSJS的基础知识&#xff0c;以及熟练的运用Python的Web开发框架&#xff08;例如Django或者F…

如何建设专题网站wordpress 插件放在那

为什么说乱码是中国程序员无法避免的话题呢&#xff1f;这个首先要从编码机制上说起&#xff0c;大家都是中文和英文的编码格式不是一样&#xff0c;解码也是不一样的&#xff01;如果中国的程序员不会遇到乱码&#xff0c;那么只有使用汉语编程。汉语编程是怎么回事我也不大清…

云建站模板互联网推广广告

uni-app 网络API 在 uni-app 开发中&#xff0c;网络请求是获取数据与和服务器交互的重要手段。以下介绍 uni-app 中常见的网络 API&#xff0c;包括发起请求、上传和下载以及 WebSocket、UDP 通信等方面。 发起请求 在 uni-app 里&#xff0c;使用uni.request(OBJECT)来发起…

西安建设城市信息网站企业1级域名网站怎么做

问题描述 在Visual Studio 中编写代码时&#xff0c;发现使用库函数的时候&#xff0c;在类对象后输入点后&#xff0c;并没有出现类对应的成员信息的提示。 解决过程 1&#xff09;方法1&#xff1a; 百度“vs 没有代码提示”&#xff0c;搜索解决方案。 方案1&#xff1…

站长统计代码网站建设都

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

自己做图网站平度做网站

概念&#xff1a; 什么是反射? 利用反射可以无视修饰符获取类里面所有的属性和方法对于任何对象&#xff0c;都能够调用它的方法和属性&#xff0c;这种动态获取信息以及动态调用对象方法的功能称为Java的反射 反射的应用场景? 常见的有&#xff1a; idea的智能提示、框架等…

株洲市建设局网站网站收录服务

最近有些不少的小伙伴向小编反映说&#xff0c;控制面板突然出现了打不开的情况&#xff0c;那么遇到这种情况该怎么办呢&#xff1f;其实控制面板打不开很有可能是因为系统文件损坏造成的。今天&#xff0c;小编就来把打不开控制面板的解决方法分享给你们。其实控制面板是我们…

flask网站开发视频刚发布的手机

近来&#xff0c;今日头条对部分业务做出调整。一方面是将“头条百科”升级为“抖音百科”&#xff0c;通过“抖音百科”这个新品牌&#xff0c;更好的为今日头条和抖音的内容场景服务。另外一方面则是&#xff0c;推出全新的问答业务“秒真问答”&#xff0c;目前已经在抖音和…

漆包线 东莞网站建设网站代理备案价格

上一篇&#xff1a;01【Git的基本命令、底层命令、命令原理】 下一篇&#xff1a;03【Git的协同开发、TortoiseGit、IDEA的操作Git】 文章目录 02【Git分支的使用、Git回退、还原】一、分支1.1 分支概述1.1.1 Git分支简介1.1.2 Git分支原理 1.2 创建分支1.2.1 创建普通分支1.…

dw做的网站如何上传云服务器网站框架模板

快速入门学会tomcat&#xff01; 最新Tomcat下载安装详细教程Tomcat是什么&#xff1f;一、网络协议&#xff0f;网络协议包网络协议包&#xff1a; 二、Http网络协议包&#xff1a;三、Http网络协议包分类&#xff1a;1&#xff0e;Http请求协议包&#xff1a;2&#xff0e;Ht…

广州手机网站建设费用关闭评论 WordPress

我们正处于人工智能的“寒武纪大爆发”时期。在过去的十年中&#xff0c;人工智能已经从理论和小型测试发展到企业规模的使用案例。但是&#xff0c;用于运行人工智能系统的硬件虽然越来越强大&#xff0c;但在设计时却没有考虑到当今的人工智能。随着人工智能系统规模的扩大&a…

电子商务网站建设策划书的流程竞价排名名词解释

来源&#xff1a;牛客网 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 5秒&#xff0c;其他语言10秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 树国是一个有n个城市的国家&#xff0c;城市编号…